コード例 #1
0
class GamOrder:
    def __init__(self):
        self.__service = GoogleAdManagerClient().GetService('OrderService')

    # アーカイブされていないオーダーを取得する
    def get_all_orders(self):
        statement = ad_manager.StatementBuilder().Where('isArchived = FALSE')
        result = []
        while True:
            response = self.__service.getOrdersByStatement(statement.ToStatement())
            if 'results' in response and len(response['results']):
                # 全件読み込むためにlimitにoffsetを足してループ
                result += response['results']
                statement.offset += statement.limit
            else:
                break

        return result

    # オーダーを作成する
    def create_order(self, advertiser_id: int, trafficker_id: int):
        orders = [{
            'name': 'Order #%s' % uuid.uuid4(),
            'advertiserId': advertiser_id,
            'traffickerId': trafficker_id
        }]

        orders = self.__service.createOrders(orders)
        for order in orders:
            print('Order with id "%s" and name "%s" was created.'
                  % (order['id'], order['name']))
コード例 #2
0
class GamCompany:
    def __init__(self):
        self.__service = GoogleAdManagerClient().GetService('CompanyService')

    def get_all_companies(self):
        # 何も指定せず会社をすべて取得する
        statement = ad_manager.StatementBuilder()

        # 広告主・自社広告主を取得する場合のStatement
        # statement = ad_manager.StatementBuilder()\
        #     .Where('type IN (\'ADVERTISER\' , \'HOUSE_ADVERTISER\')')

        result = []
        while True:
            response = self.__service.getCompaniesByStatement(
                statement.ToStatement())
            if 'results' in response and len(response['results']):
                result += response['results']
                statement.offset += statement.limit
            else:
                break

        return result

    def create_advertiser(self, company_name: str):
        try:
            return self.__service.createCompanies([{
                'name': company_name,
                'type': 'ADVERTISER'
            }])
        except GoogleAdsServerFault as e:
            # TODO すでに存在していた場合のエラー処理
            print(e)
            print('already exists.')
コード例 #3
0
class GamLineItem:
    def __init__(self):
        self.__service = GoogleAdManagerClient().GetService('LineItemService')

    def get_all_line_items(self):
        statement = ad_manager.StatementBuilder()

        result = []
        while True:
            response = self.__service.getLineItemsByStatement(statement.ToStatement())
            if 'results' in response and len(response['results']):
                result += response['results']
                statement.offset += statement.limit
            else:
                break

        return result
コード例 #4
0
 def __init__(self):
     self.__service = GoogleAdManagerClient().GetService('NetworkService')
コード例 #5
0
class GamNetwork:
    def __init__(self):
        self.__service = GoogleAdManagerClient().GetService('NetworkService')

    def get_all_networks(self):
        return self.__service.getAllNetworks()
コード例 #6
0
 def __init__(self):
     self.__service = GoogleAdManagerClient().GetService('OrderService')
コード例 #7
0
ファイル: GamUser.py プロジェクト: beatdjam/Learning-Python
class GamUser:
    def __init__(self):
        self.__service = GoogleAdManagerClient().GetService('UserService')

    def get_current_user(self):
        return self.__service.getCurrentUser()
コード例 #8
0
 def __init__(self):
     self.__service = GoogleAdManagerClient().GetService('LineItemService')
コード例 #9
0
 def __init__(self):
     self.__service = GoogleAdManagerClient().GetService('CompanyService')