def main(client): # Initialize appropriate service. product_template_service = client.GetService('ProductTemplateService', version='v201411') # Create a filter statement. statement = dfp.FilterStatement('ORDER BY id ASC') # Get product templates by statement. while True: response = product_template_service.getProductTemplatesByStatement( statement.ToStatement()) if 'results' in response: # Display results. for product_template in response['results']: print( 'Product template with id \'%s\' and name \'%s\' was found.' % (product_template['id'], product_template['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. creative_service = client.GetService('CreativeService', version='v201505') # Create statement object to select all creatives. statement = dfp.FilterStatement() # Get creatives by statement. while True: response = creative_service.getCreativesByStatement( statement.ToStatement()) if 'results' in response: # Display results. for creative in response['results']: print( 'Creative with id \'%s\', name \'%s\', and type \'%s\' was ' 'found.' % (creative['id'], creative['name'], dfp.DfpClassType(creative))) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. custom_field_service = client.GetService('CustomFieldService', version='v201405') # Create a filter statement. statement = dfp.FilterStatement() # Get custom fields by statement. while True: response = custom_field_service.getCustomFieldsByStatement( statement.ToStatement()) if 'results' in response: # Display results. for custom_field in response['results']: print( 'Custom field with ID \'%s\' and name \'%s\' was found.' % (custom_field['id'], custom_field['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. rate_card_service = client.GetService('RateCardService', version='v201502') # Create a filter statement. statement = dfp.FilterStatement('ORDER BY id ASC') # Get rate cards by statement. while True: response = rate_card_service.getRateCardsByStatement( statement.ToStatement()) if 'results' in response: # Display results. for rate_card in response['results']: print( 'Rate card with id \'%s,\' name \'%s,\' and currency \'%s\' ' 'was found.' % (rate_card['id'], rate_card['name'], rate_card['currencyCode'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. proposal_line_item_service = client.GetService( 'ProposalLineItemService', version='v201608') # Create a statement to select proposal line items. statement = dfp.FilterStatement() # Retrieve a small amount of proposal line items at a time, paging # through until all proposal line items have been retrieved. while True: response = proposal_line_item_service.getProposalLineItemsByStatement( statement.ToStatement()) if 'results' in response: for proposal_line_item in response['results']: # Print out some information for each proposal line item. print('Proposal line item with ID "%d" and name "%s" was found.\n' % (proposal_line_item['id'], proposal_line_item['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. activity_service = client.GetService('ActivityService', version='v201405') # Create statement object to select only all activities. statement = dfp.FilterStatement() # Get activities by statement. while True: response = activity_service.getActivitiesByStatement( statement.ToStatement()) if 'results' in response: # Display results. for activity in response['results']: print( 'Activity with ID \'%s\', name \'%s\', and type \'%s\' was ' 'found.' % (activity['id'], activity['name'], activity['type'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. native_style_service = client.GetService('NativeStyleService', version='v201702') # Create a statement to select native styles. statement = dfp.FilterStatement() # Retrieve a small amount of native styles at a time, paging # through until all native styles have been retrieved. while True: response = native_style_service.getNativeStylesByStatement( statement.ToStatement()) if 'results' in response: for native_style in response['results']: # Print out some information for each native style. print('Native style with ID "%d" and name "%s" was found.\n' % (native_style['id'], native_style['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. content_service = client.GetService('ContentService', version='v201411') # Create statement object to select all content. statement = dfp.FilterStatement() # Get content by statement. while True: response = content_service.getContentByStatement( statement.ToStatement()) if 'results' in response: # Display results. for content_item in response['results']: print(( 'Content with id \'%s\', name \'%s\', and status \'%s\' was ' 'found.' % (content_item['id'], content_item['name'], content_item['status']))) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. company_service = client.GetService('CompanyService', version='v201611') # Create a statement to select companies. statement = dfp.FilterStatement() # Retrieve a small amount of companies at a time, paging # through until all companies have been retrieved. while True: response = company_service.getCompaniesByStatement( statement.ToStatement()) if 'results' in response: for company in response['results']: # Print out some information for each company. print( 'Company with ID "%d", name "%s", and type "%s" was found.\n' % (company['id'], company['name'], company['type'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. line_item_service = client.GetService('LineItemService', version='v201505') # Create a filter statement. statement = dfp.FilterStatement() # Get line items by statement. while True: response = line_item_service.getLineItemsByStatement( statement.ToStatement()) if 'results' in response: # Display results. for line_item in response['results']: print( 'Line item with id \'%s\', belonging to order id \'%s\', and ' 'named \'%s\' was found.' % (line_item['id'], line_item['orderId'], line_item['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. creative_set_service = client.GetService('CreativeSetService', version='v201505') # Create a filter statement. statement = dfp.FilterStatement() # Get creative sets by statement. while True: response = creative_set_service.getCreativeSetsByStatement( statement.ToStatement()) if 'results' in response: # Display results. for creative_set in response['results']: print( ('Creative set with ID \'%s\' and name \'%s\' was found.' % (creative_set['id'], creative_set['name']))) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. activity_group_service = client.GetService('ActivityGroupService', version='v201408') # Create a filter statement. statement = dfp.FilterStatement() # Get activity groups by statement. while True: response = activity_group_service.getActivityGroupsByStatement( statement.ToStatement()) if 'results' in response: # Display results. for activity_group in response['results']: print( 'Activity group with ID \'%s\' and name \'%s\' was found.' % (activity_group['id'], activity_group['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, reconciliation_report_id): # Initialize appropriate service. reconciliation_report_row_service = client.GetService( 'ReconciliationReportRowService', version='v201608') query = ('WHERE reconciliationReportId = %s AND ' 'lineItemId != :lineItemId') % reconciliation_report_id values = [ { 'key': 'lineItemId', 'value': { 'xsi_type': 'NumberValue', 'value': '0' } }, ] # Create a statement to select reconciliation report rows. statement = dfp.FilterStatement(query, values) # Retrieve a small amount of reconciliation report rows at a time, paging # through until all reconciliation report rows have been retrieved. while True: response = reconciliation_report_row_service.getReconciliationReportRowsByStatement( statement.ToStatement()) if 'results' in response: for reconciliation_report_row in response['results']: # Print out some information for each reconciliation report row. print( 'Reconciliation report row with ID "%d", reconciliation source ' '"%s", and reconciled volume "%d" was found.\n' % (reconciliation_report_row['id'], reconciliation_report_row['reconciliationSource'], reconciliation_report_row['reconciledVolume'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, creative_wrapper_id): # Initialize appropriate service. creative_wrapper_service = client.GetService('CreativeWrapperService', version='v201411') # Create statement to get a creative wrapper by ID. values = [{ 'key': 'creativeWrapperId', 'value': { 'xsi_type': 'NumberValue', 'value': creative_wrapper_id } }] query = 'WHERE id = :creativeWrapperId' statement = dfp.FilterStatement(query, values) # Get creative wrappers. response = creative_wrapper_service.getCreativeWrappersByStatement( statement.ToStatement()) if 'results' in response: updated_creative_wrappers = [] for creative_wrapper in response['results']: creative_wrapper['ordering'] = 'OUTER' updated_creative_wrappers.append(creative_wrapper) # Update the creative wrappers on the server. creative_wrappers = creative_wrapper_service.updateCreativeWrappers( updated_creative_wrappers) # Display results. for creative_wrapper in creative_wrappers: print(('Creative wrapper with ID \'%s\' and wrapping order \'%s\' ' 'was updated.') % (creative_wrapper['id'], creative_wrapper['ordering'])) else: print 'No creative wrappers found to update.'
def main(client, creative_set_id, companion_creative_id): # Initialize appropriate service. creative_set_service = client.GetService('CreativeSetService', version='v201702') # Create statement to select a single creative set by ID. values = [{ 'key': 'creativeSetId', 'value': { 'xsi_type': 'NumberValue', 'value': creative_set_id } }] query = 'WHERE id = :creativeSetId' statement = dfp.FilterStatement(query, values) # Get creative set. response = creative_set_service.getCreativeSetsByStatement( statement.ToStatement()) if 'results' in response: updated_created_sets = [] for creative_set in response['results']: creative_set['companionCreativeIds'].append(companion_creative_id) updated_created_sets.append(creative_set) # Update the creative sets on the server. creative_sets = creative_set_service.updateCreativeSet(updated_created_sets) # Display results. for creative_set in creative_sets: print (('Creative set with ID "%s", master creative ID "%s", and ' 'companion creative IDs {%s} was updated.') % (creative_set['id'], creative_set['masterCreativeId'], ','.join(creative_set['companionCreativeIds']))) else: print 'No creative sets found to update.'
def main(client, key_id): # Initialize appropriate service. custom_targeting_service = client.GetService( 'CustomTargetingService', version='v201608') values = [{ 'key': 'keyId', 'value': { 'xsi_type': 'NumberValue', 'value': key_id } }] query = 'WHERE id = :keyId' statement = dfp.FilterStatement(query, values, 1) # Get custom targeting keys by statement. response = custom_targeting_service.getCustomTargetingKeysByStatement( statement.ToStatement()) # Update each local custom targeting key object by changing its display name. if 'results' in response: updated_keys = [] for key in response['results']: if not key['displayName']: key['displayName'] = key['name'] key['displayName'] += ' (Deprecated)' updated_keys.append(key) keys = custom_targeting_service.updateCustomTargetingKeys(updated_keys) # Display results. if keys: for key in keys: print ('Custom targeting key with id \'%s\', name \'%s\', display name ' '\'%s\', and type \'%s\' was updated.' % (key['id'], key['name'], key['displayName'], key['type'])) else: print 'No custom targeting keys were found to update.'
def main(client, user_id): # Initialize appropriate service. user_service = client.GetService('UserService', version='v201611') # Create query. values = [{ 'key': 'userId', 'value': { 'xsi_type': 'NumberValue', 'value': user_id } }] query = 'WHERE id = :userId' # Create a filter statement. statement = dfp.FilterStatement(query, values) # Get users by statement. response = user_service.getUsersByStatement(statement.ToStatement()) users = response['results'] if 'results' in response else [] for user in users: print ('User with id "%s", email "%s", and status "%s" will be ' 'deactivated.' % (user['id'], user['email'], {'true': 'ACTIVE', 'false': 'INACTIVE'}[user['isActive']])) print 'Number of users to be deactivated: %s' % len(users) # Perform action. result = user_service.performUserAction({'xsi_type': 'DeactivateUsers'}, statement.ToStatement()) # Display results. if result and int(result['numChanges']) > 0: print 'Number of users deactivated: %s' % result['numChanges'] else: print 'No users were deactivated.'
def main(client, proposal_id): # Initialize appropriate service. proposal_line_item_service = client.GetService('ProposalLineItemService', version='v201502') # Create statement object to only select proposal line items belonging to a # given proposal. values = [{ 'key': 'proposalId', 'value': { 'xsi_type': 'NumberValue', 'value': proposal_id } }] query = 'WHERE proposalId = :proposalId ORDER BY id ASC' statement = dfp.FilterStatement(query, values) while True: # Get proposal line items by statement. response = proposal_line_item_service.getProposalLineItemsByStatement( statement.ToStatement()) if 'results' in response: # Display results. for idx, proposal_line_item in enumerate(response['results'], start=statement.offset): print( '%s) Proposal line item with id \'%s\', belonging to proposal id ' '\'%s\', and named \'%s\' was found.' % (idx, proposal_line_item['id'], proposal_line_item['proposalId'], proposal_line_item['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. activity_group_service = client.GetService('ActivityGroupService', version='v201702') # Create a statement to select activity groups. statement = dfp.FilterStatement() # Retrieve a small amount of activity groups at a time, paging # through until all activity groups have been retrieved. while True: response = activity_group_service.getActivityGroupsByStatement( statement.ToStatement()) if 'results' in response: for activity_group in response['results']: # Print out some information for each activity group. print( 'Activity group with ID "%d" and name "%s" was found.\n' % (activity_group['id'], activity_group['name'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. lica_service = client.GetService('LineItemCreativeAssociationService', version='v201502') # Create statement object to get all LICAs. statement = dfp.FilterStatement() while True: # Get LICAs by statement. response = lica_service.getLineItemCreativeAssociationsByStatement( statement.ToStatement()) if 'results' in response: # Update each local LICA object by changing its destination URL. updated_licas = [] for lica in response['results']: lica['destinationUrl'] = 'http://news.google.com' updated_licas.append(lica) # Update LICAs remotely. licas = lica_service.updateLineItemCreativeAssociations( updated_licas) # Display results. for lica in licas: print( 'LICA with line item id \'%s\', creative id \'%s\', and status ' '\'%s\' was updated.' % (lica['lineItemId'], lica['creativeId'], lica['status'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break if response['totalResultSetSize'] == 0: print 'No LICAs found to update.'
def main(client, product_package_id): # Initialize appropriate service. product_package_item_service = client.GetService( 'ProductPackageItemService', version='v201608') query = 'WHERE productPackageId = :productPackageId' values = [ { 'key': 'productPackageId', 'value': { 'xsi_type': 'TextValue', 'value': product_package_id } }, ] # Create a statement to select product package items. statement = dfp.FilterStatement(query, values) # Retrieve a small amount of product package items at a time, paging # through until all product package items have been retrieved. while True: response = product_package_item_service.getProductPackageItemsByStatement( statement.ToStatement()) if 'results' in response: for product_package_item in response['results']: # Print out some information for each product package item. print( 'Product package item with ID "%d", product ID "%d", and product ' 'package ID "%d" was found.\n' % (product_package_item['id'], product_package_item['productId'], product_package_item['productPackageId'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, activity_group_id, advertiser_company_id): # Initialize appropriate service. activity_group_service = client.GetService('ActivityGroupService', version='v201511') # Create statement object to select a single activity groups by ID. values = [{ 'key': 'activityGroupId', 'value': { 'xsi_type': 'NumberValue', 'value': activity_group_id } }] query = 'WHERE id = :activityGroupId' # Create a filter statement. statement = dfp.FilterStatement(query, values, 1) # Get activity groups by statement. response = activity_group_service.getActivityGroupsByStatement( statement.ToStatement()) if 'results' in response: updated_activity_groups = [] for activity_group in response['results']: activity_group['companyIds'].append(advertiser_company_id) updated_activity_groups.append(activity_group) # Update the activity groups on the server. activity_groups = activity_group_service.updateActivityGroups( updated_activity_groups) for activity_group in activity_groups: print( ('Activity group with ID \'%s\' and name \'%s\' was updated.') % (activity_group['id'], activity_group['name'])) else: print 'No activity groups found to update.'
def main(client): # Initialize appropriate service. suggested_ad_unit_service = client.GetService('SuggestedAdUnitService', version='v201403') # Create a filter statement. statement = dfp.FilterStatement() # Get suggested ad units by statement. while True: response = suggested_ad_unit_service.getSuggestedAdUnitsByStatement( statement.ToStatement()) if 'results' in response: # Display results. for suggested_ad_unit in response['results']: print( 'Ad unit with id \'%s\' and number of requests \'%s\' was found.' % (suggested_ad_unit['id'], suggested_ad_unit['numRequests'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. creative_wrapper_service = client.GetService('CreativeWrapperService', version='v201508') # Create a filter statement. statement = dfp.FilterStatement() # Get creative wrappers by statement. while True: response = creative_wrapper_service.getCreativeWrappersByStatement( statement.ToStatement()) if 'results' in response: # Display results. for creative_wrapper in response['results']: print( 'Creative wrapper with ID \'%s\' applying to label \'%s\' was ' 'found.' % (creative_wrapper['id'], creative_wrapper['labelId'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, line_item_id): # Initialize appropriate service. lica_service = client.GetService( 'LineItemCreativeAssociationService', version='v201608') query = 'WHERE lineItemId = :lineItemId' values = [ {'key': 'lineItemId', 'value': { 'xsi_type': 'TextValue', 'value': line_item_id }}, ] # Create a statement to select line item creative associations. statement = dfp.FilterStatement(query, values) # Retrieve a small amount of line item creative associations at a time, paging # through until all line item creative associations have been retrieved. while True: response = lica_service.getLineItemCreativeAssociationsByStatement( statement.ToStatement()) if 'results' in response: for lica in response['results']: # Print out some information for each line item creative association. if 'creativeSetId' in lica: print('LICA with line item ID \'%s\', creative set ID \'%s\', and ' 'status \'%s\' was found.' % (lica['lineItemId'], lica['creativeSetId'], lica['status'])) else: print('Line item creative association with line item ID "%d" and ' 'creative ID "%d" was found.\n' % (lica['lineItemId'], lica['creativeId'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. rate_card_service = client.GetService('RateCardService', version='v201705') # Create a statement to select rate cards. statement = dfp.FilterStatement() # Retrieve a small amount of rate cards at a time, paging # through until all rate cards have been retrieved. while True: response = rate_card_service.getRateCardsByStatement( statement.ToStatement()) if 'results' in response: for rate_card in response['results']: # Print out some information for each rate card. print( 'Rate card with ID "%d", name "%s", and currency code "%s" was ' 'found.\n' % (rate_card['id'], rate_card['name'], rate_card['currencyCode'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize client object. client = dfp.DfpClient.LoadFromStorage() # Initialize appropriate service. audience_segment_service = client.GetService('AudienceSegmentService', version='v201505') # Create statement object to only select first party audience segments. values = [{ 'key': 'type', 'value': { 'xsi_type': 'TextValue', 'value': 'FIRST_PARTY' } }] query = 'WHERE Type = :type' statement = dfp.FilterStatement(query, values) # Get audience segments by statement. while True: response = audience_segment_service.getAudienceSegmentsByStatement( statement.ToStatement()) if 'results' in response: segments = response['results'] for segment in segments: print( ('Audience segment with id \'%s\' and name \'%s\' of size ' '%s was found. ' % (segment['id'], segment['name'], segment['size']))) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. creative_template_service = client.GetService('CreativeTemplateService', version='v201505') # Create a filter statement. statement = dfp.FilterStatement() # Get creative templates by statement. while True: response = creative_template_service.getCreativeTemplatesByStatement( statement.ToStatement()) if 'results' in response: # Display results. for template in response['results']: print( 'Creative template with id \'%s\', name \'%s\', and type \'%s\' ' 'was found.' % (template['id'], template['name'], template['type'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. base_rate_service = client.GetService('BaseRateService', version='v201505') # Create a filter statement. statement = dfp.FilterStatement('ORDER BY id ASC') # Get base rates by statement. while True: response = base_rate_service.getBaseRatesByStatement( statement.ToStatement()) if 'results' in response: # Display results. for base_rate in response['results']: print( 'Base rate with ID \'%s\' and type \'%s\' belonging to ' 'rate card ID \'%s\' was found.' % (base_rate['id'], dfp.DfpClassType(base_rate), base_rate['rateCardId'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. base_rate_service = client.GetService('BaseRateService', version='v201608') # Create a statement to select base rates. statement = dfp.FilterStatement() # Retrieve a small amount of base rates at a time, paging # through until all base rates have been retrieved. while True: response = base_rate_service.getBaseRatesByStatement( statement.ToStatement()) if 'results' in response: for base_rate in response['results']: # Print out some information for each base rate. print( 'Base rate with ID "%d", type "%s", and rate card ID "%d" was ' 'found.\n' % (base_rate['id'], dfp.DfpClassType(base_rate), base_rate['rateCardId'])) statement.offset += dfp.SUGGESTED_PAGE_LIMIT else: break print '\nNumber of results found: %s' % response['totalResultSetSize']