def main(client): # Initialize appropriate services. audience_segment_service = client.GetService('AudienceSegmentService', version='v201408') # 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 = DfpUtils.FilterStatement(query, values) while True: response = audience_segment_service.getAudienceSegmentsByStatement( statement.ToStatement())[0] if 'results' in response: segments = response['results'] # Display 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.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print 'Number of results found: %d' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. creative_template_service = client.GetService('CreativeTemplateService', version='v201411') # Create statement object to only select system defined creative templates. values = [{ 'key': 'creativeTemplateType', 'value': { 'xsi_type': 'TextValue', 'value': 'SYSTEM_DEFINED' } }] query = 'WHERE type = :creativeTemplateType' statement = DfpUtils.FilterStatement(query, values) # Get creative templates by statement. while True: response = creative_template_service.GetCreativeTemplatesByStatement( statement.ToStatement())[0] creative_templates = response.get('results') if creative_templates: # Display results. for template in creative_templates: print( 'Creative template with id \'%s\', name \'%s\', and type \'%s\' ' 'was found.' % (template['id'], template['name'], template['type'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, team_id): # Initialize appropriate service. team_service = client.GetService('TeamService', version='v201405') # Create a filter statement to select a single team by ID. values = [{ 'key': 'teamId', 'value': { 'xsi_type': 'NumberValue', 'value': team_id } }] query = 'WHERE id = :teamId' statement = DfpUtils.FilterStatement(query, values) while True: # Get teams by statement. response = team_service.GetTeamsByStatement(statement.ToStatement())[0] teams = response.get('results') if teams: # Display results. for team in teams: print('Team with id \'%s\' and name \'%s\' was found.' % (team['id'], team['name'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. placement_service = client.GetService('PlacementService', version='v201408') # Create a statement to only select active placements. values = [{ 'key': 'status', 'value': { 'xsi_type': 'TextValue', 'value': 'ACTIVE' } }] query = 'WHERE status = :status' statement = DfpUtils.FilterStatement(query, values) # Get placements by statement. while True: response = placement_service.GetPlacementsByStatement( statement.ToStatement())[0] placements = response.get('results') if placements: # Display results. for placement in placements: print('Placement with id \'%s\' and name \'%s\' was found.' % (placement['id'], placement['name'])) statement.IncreaseOffsetBy(DfpUtils.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 statement object to only select active activity groups. values = [{ 'key': 'status', 'value': { 'xsi_type': 'TextValue', 'value': 'ACTIVE' } }] query = 'WHERE status = :status' # Create a filter statement. statement = DfpUtils.FilterStatement(query, values) # Get activity groups by statement. while True: response = activity_group_service.GetActivityGroupsByStatement( statement.ToStatement())[0] activity_groups = response.get('results') if activity_groups: # Display results. for activity_group in activity_groups: print( 'Activity group with ID \'%s\' and name \'%s\' was found.' % (activity_group['id'], activity_group['name'])) statement.IncreaseOffsetBy(DfpUtils.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='v201408') # Create a filter statement. statement = DfpUtils.FilterStatement() # Get creative wrappers by statement. while True: response = creative_wrapper_service.GetCreativeWrappersByStatement( statement.ToStatement())[0] creative_wrappers = response.get('results') if creative_wrappers: # Display results. for creative_wrapper in creative_wrappers: print( 'Creative wrapper with ID \'%s\' applying to label \'%s\' was ' 'found.' % (creative_wrapper['id'], creative_wrapper['labelId'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. custom_targeting_service = client.GetService('CustomTargetingService', version='v201411') values = [{ 'key': 'type', 'value': { 'xsi_type': 'TextValue', 'value': 'PREDEFINED' } }] query = 'WHERE type = :type' statement = DfpUtils.FilterStatement(query, values) # Get custom targeting keys by statement. while True: response = custom_targeting_service.GetCustomTargetingKeysByStatement( statement.ToStatement())[0] keys = response.get('results') if keys: # Display results. for key in keys: print( 'Custom targeting key with id \'%s\', name \'%s\', display name ' '\'%s\', and type \'%s\' was found.' % (key['id'], key['name'], key['displayName'], key['type'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. lica_service = client.GetService('LineItemCreativeAssociationService', version='v201311') # Create a filter statement. statement = DfpUtils.FilterStatement() # Get line items by statement. while True: response = lica_service.GetLineItemCreativeAssociationsByStatement( statement.ToStatement())[0] licas = response.get('results') if licas: # Display results. for lica in licas: 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( 'LICA with line item ID \'%s\', creative ID \'%s\', and status' ' \'%s\' was found.' % (lica['lineItemId'], lica['creativeId'], lica['status'])) print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. lica_service = client.GetService('LineItemCreativeAssociationService', version='v201403') # Create statement object to get all LICAs. statement = DfpUtils.FilterStatement() while True: # Get LICAs by statement. response = lica_service.GetLineItemCreativeAssociationsByStatement( statement.ToStatement())[0] licas = response.get('results') if licas: # Update each local LICA object by changing its destination URL. for lica in licas: lica['destinationUrl'] = 'http://news.google.com' # Update LICAs remotely. licas = lica_service.UpdateLineItemCreativeAssociations(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.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break if response['totalResultSetSize'] == 0: print 'No LICAs found to update.'
def main(client, key_id): # Initialize appropriate service. custom_targeting_service = client.GetService('CustomTargetingService', version='v201403') values = [{ 'key': 'keyId', 'value': { 'xsi_type': 'NumberValue', 'value': key_id } }] query = 'WHERE customTargetingKeyId = :keyId' statement = DfpUtils.FilterStatement(query, values) # Get custom targeting values by statement. while True: response = custom_targeting_service.GetCustomTargetingValuesByStatement( statement.ToStatement())[0] values = response.get('results') if values: # Display results. for value in values: print( 'Custom targeting value with id \'%s\', name \'%s\', and display' ' name \'%s\' was found.' % (value['id'], value['name'], value['displayName'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, order_id): # Initialize appropriate service. order_service = client.GetService('OrderService', version='v201311') # Create statement object to select a single order by an ID. values = [{ 'key': 'orderId', 'value': { 'xsi_type': 'NumberValue', 'value': order_id } }] query = 'WHERE id = :orderId' statement = DfpUtils.FilterStatement(query, values) # Get orders by statement. response = order_service.GetOrdersByStatement(statement.ToStatement())[0] orders = [] if 'results' in response: orders = response['results'] # Display results. for order in orders: print('Order with id \'%s\' name \'%s\' was found.' % (order['id'], order['name'])) print '\nNumber of results found: %s' % len(orders)
def main(client): # Initialize appropriate service. creative_template_service = client.GetService('CreativeTemplateService', version='v201403') # Create a filter statement. statement = DfpUtils.FilterStatement() # Get creative templates by statement. while True: response = creative_template_service.GetCreativeTemplatesByStatement( statement.ToStatement())[0] creative_templates = response.get('results') if creative_templates: # Display results. for template in creative_templates: print( 'Creative template with id \'%s\', name \'%s\', and type \'%s\' ' 'was found.' % (template['id'], template['name'], template['type'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, label_id): # Initialize appropriate service. label_service = client.GetService('LabelService', version='v201403') # Create a statement to select only active labels. values = [ { 'key': 'labelId', 'value': { 'xsi_type': 'NumberValue', 'value': label_id } } ] query = 'WHERE id = :labelId' statement = DfpUtils.FilterStatement(query, values) # Get labels by filter. response = label_service.GetLabelsByStatement(statement.ToStatement())[0] labels = response.get('results') if labels: # Update each local label object by changing the description. for label in labels: label['description'] = 'These labels are updated.' # Update labels remotely. labels = label_service.UpdateLabels(labels) for label in labels: print ('Label with id \'%s\' and name \'%s\' was updated.' % (label['id'], label['name'])) else: print 'No labels found to update.'
def main(client): # Initialize appropriate service. creative_wrapper_service = client.GetService('CreativeWrapperService', version='v201311') # Create statement object to only select active creative wrappers. values = [{ 'key': 'status', 'value': { 'xsi_type': 'TextValue', 'value': 'ACTIVE' } }] query = 'WHERE status = :status' statement = DfpUtils.FilterStatement(query, values) # Get creative wrappers by statement. while True: response = creative_wrapper_service.GetCreativeWrappersByStatement( statement.ToStatement())[0] creative_wrappers = response.get('results') if creative_wrappers: # Display results. for creative_wrapper in creative_wrappers: print( 'Creative wrapper with ID \'%s\' applying to label \'%s\' was ' 'found.' % (creative_wrapper['id'], creative_wrapper['labelId'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. company_service = client.GetService('CompanyService', version='v201411') # Create statement object to only select companies that are advertisers. values = [{ 'key': 'type', 'value': { 'xsi_type': 'TextValue', 'value': 'ADVERTISER' } }] query = 'WHERE type = :type' statement = DfpUtils.FilterStatement(query, values) # Get companies by statement. while True: response = company_service.GetCompaniesByStatement( statement.ToStatement())[0] companies = response.get('results') if companies: # Display results. for company in companies: print( 'Company with ID \'%s\', name \'%s\', and type \'%s\' was found.' % (company['id'], company['name'], company['type'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, custom_field_id): # Initialize appropriate service. custom_field_service = client.GetService('CustomFieldService', version='v201411') # Create statement to get a custom field. values = [{ 'key': 'customFieldId', 'value': { 'xsi_type': 'NumberValue', 'value': custom_field_id } }] query = 'WHERE id = :customFieldId' statement = DfpUtils.FilterStatement(query, values) # Get custom field. custom_fields = custom_field_service.GetCustomsFieldByStatement( statement.ToStatement())[0] if custom_fields: for custom_field in custom_fields: custom_field['description'] += ' Updated.' # Update the custom field on the server. custom_fields = custom_field_service.UpdateCustomFields(custom_fields) # Display results. for custom_field in custom_fields: print(('Custom field with ID \'%s\', name \'%s\', and ' 'description \'%s\' was updated.') % (custom_field['id'], custom_field['name'], custom_field['description'])) else: print 'No custom fields found to update.'
def main(client): # Initialize appropriate service. suggested_ad_unit_service = client.GetService( 'SuggestedAdUnitService', version='v201403') values = [{ 'key': 'numRequests', 'value': { 'xsi_type': 'NumberValue', 'value': '50' } }] query = 'WHERE numRequests > :numRequests' # Create a filter statement. statement = DfpUtils.FilterStatement(query, values) # Get suggested ad units by statement. while True: response = suggested_ad_unit_service.GetSuggestedAdUnitsByStatement( statement.ToStatement())[0] suggested_ad_units = response.get('results') if suggested_ad_units: # Display results. for suggested_ad_unit in suggested_ad_units: print ('Ad unit with id \'%s\' and number of requests \'%s\' was found.' % (suggested_ad_unit['id'], suggested_ad_unit['numRequests'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. audience_segment_service = client.GetService('AudienceSegmentService', version='v201411') # Create statement object to select all audience segments. statement = DfpUtils.FilterStatement() while True: response = audience_segment_service.getAudienceSegmentsByStatement( statement.ToStatement())[0] if 'results' in response: segments = response['results'] # Display 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.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print 'Number of results found: %d' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. custom_field_service = client.GetService('CustomFieldService', version='v201408') # Create statement to select only custom fields that apply to line items. values = [{ 'key': 'entityType', 'value': { 'xsi_type': 'TextValue', 'value': 'LINE_ITEM' } }] query = 'WHERE entityType = :entityType' # Create a filter statement. statement = DfpUtils.FilterStatement(query, values) # Get custom fields by statement. while True: response = custom_field_service.GetCustomFieldsByStatement( statement.ToStatement())[0] custom_fields = response.get('results') if custom_fields: # Display results. for custom_field in custom_fields: print( 'Custom field with ID \'%s\' and name \'%s\' was found.' % (custom_field['id'], custom_field['name'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, placement_id): # Initialize appropriate service. placement_service = client.GetService('PlacementService', version='v201408') # Create query. values = [{ 'key': 'placementId', 'value': { 'xsi_type': 'NumberValue', 'value': placement_id } }] query = 'WHERE id = :placementId' statement = DfpUtils.FilterStatement(query, values, 1) # Get placements by statement. placements = placement_service.GetPlacementsByStatement( statement.ToStatement())[0] for placement in placements: print( 'Placement with id \'%s\', name \'%s\', and status \'%s\' will be ' 'deactivated.' % (placement['id'], placement['name'], placement['status'])) # Perform action. result = placement_service.PerformPlacementAction( {'type': 'DeactivatePlacements'}, statement.ToStatement())[0] # Display results. if result and int(result['numChanges']) > 0: print 'Number of placements deactivated: %s' % result['numChanges'] else: print 'No placements were deactivated.'
def main(client, placement_id): # Initialize appropriate service. placement_service = client.GetService('PlacementService', version='v201403') # Create query. values = [{ 'key': 'placementId', 'value': { 'xsi_type': 'NumberValue', 'value': placement_id } }] query = 'WHERE id = :placementId' statement = DfpUtils.FilterStatement(query, values, 1) # Get placements by statement. placements = placement_service.GetPlacementsByStatement( statement.ToStatement())[0] for placement in placements: if not placement['targetingDescription']: placement['targetingDescription'] = 'Generic description' placement['targetingAdLocation'] = 'All images on sports pages.' placement['targetingSiteName'] = 'http://code.google.com' placement['isAdSenseTargetingEnabled'] = 'true' # Update placements remotely. placements = placement_service.UpdatePlacements(placements) for placement in placements: print('Placement with id \'%s\', name \'%s\', and AdSense targeting ' 'enabled \'%s\' was updated.' % (placement['id'], placement['name'], placement['isAdSenseTargetingEnabled']))
def main(client): # Initialize appropriate service. contact_service = client.GetService('ContactService', version='v201411') # Create statement object to only select contacts that are uninvited. values = [{ 'key': 'status', 'value': { 'xsi_type': 'TextValue', 'value': 'UNINVITED' } }] query = 'WHERE status = :status' statement = DfpUtils.FilterStatement(query, values) # Get contacts by statement. while True: response = contact_service.GetContactsByStatement( statement.ToStatement())[0] contacts = response.get('results') if contacts: # Display results. for contact in contacts: print ('Contact with ID \'%s\' and name \'%s\' was found.' % (contact['id'], contact['name'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, user_id): # Initialize appropriate service. user_team_association_service = client.GetService( 'UserTeamAssociationService', version='v201403') # Create query. values = [{ 'key': 'userId', 'value': { 'xsi_type': 'NumberValue', 'value': user_id } }] query = 'WHERE userId = :userId' # Create a filter statement. statement = DfpUtils.FilterStatement(query, values) # Get user team associations by statement. while True: response = user_team_association_service.GetUserTeamAssociationsByStatement( statement.ToStatement())[0] user_team_associations = response.get('results') if user_team_associations: # Display results. for user_team_association in user_team_associations: print ('User team association between user with ID \'%s\' and team with' ' ID \'%s\' was found.' % (user_team_association['userId'], user_team_association['teamId'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, user_id): # Initialize appropriate service. user_service = client.GetService('UserService', version='v201311') # Create query. values = [{ 'key': 'userId', 'value': { 'xsi_type': 'NumberValue', 'value': user_id } }] query = 'WHERE id = :userId' # Create a filter statement. statement = DfpUtils.FilterStatement(query, values) # Get users by statement. response = user_service.GetUsersByStatement(statement.ToStatement())[0] users = response.get('results') if users: for user in users: user['name'] += ' Sr.' # Update users on server. users = user_service.UpdateUsers(users) for user in users: print('User with id \'%s\' and name \'%s\' was updated.' % (user['id'], user['name'])) else: print 'No users found to update.'
def main(client, master_creative_id): # Initialize appropriate service. creative_set_service = client.GetService('CreativeSetService', version='v201311') # Create statement object to only select creative sets that have the given # master creative. values = [{ 'key': 'masterCreativeId', 'value': { 'xsi_type': 'NumberValue', 'value': master_creative_id } }] query = 'WHERE masterCreativeId = :masterCreativeId' statement = DfpUtils.FilterStatement(query, values) # Get creative sets by statement. while True: response = creative_set_service.GetCreativeSetsByStatement( statement.ToStatement())[0] creative_sets = response.get('results') if creative_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 found.') % (creative_set['id'], creative_set['masterCreativeId'], ','.join(creative_set['companionCreativeIds']))) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. creative_service = client.GetService('CreativeService', version='v201405') # Create statement object to only select image creatives. values = [{ 'key': 'creativeType', 'value': { 'xsi_type': 'TextValue', 'value': 'ImageCreative' } }] query = 'WHERE creativeType = :creativeType' statement = DfpUtils.FilterStatement(query, values) # Get creatives by statement. while True: response = creative_service.GetCreativesByStatement( statement.ToStatement())[0] creatives = response['results'] if creatives: # Display results. for creative in creatives: print( 'Creative with id \'%s\', name \'%s\', and type \'%s\' was ' 'found.' % (creative['id'], creative['name'], creative['Creative_Type'])) statement.IncreaseOffsetBy(DfpUtils.PAGE_LIMIT) else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client, activity_id): # Initialize appropriate service. activity_service = client.GetService('ActivityService', version='v201411') # Create statement object to select one activity by ID to update. values = [{ 'key': 'activityId', 'value': { 'xsi_type': 'NumberValue', 'value': activity_id } }] query = 'WHERE id = :activityId' statement = DfpUtils.FilterStatement(query, values, 1) # Get activities by statement. response = activity_service.GetActivitiesByStatement( statement.ToStatement())[0] activities = response.get('results') if activities: for activity in activities: # Update the expected URL. activity['expectedURL'] = 'https://google.com' # Update the activity on the server. activities = activity_service.UpdateActivities(activities) for updated_activity in activities: print(('Activity with ID \'%s\' and name \'%s\' was updated.') % (updated_activity['id'], updated_activity['name'])) else: print 'No activities found to update.'
def main(client, user_id): # Initialize appropriate service. user_service = client.GetService('UserService', version='v201311') # Create query. values = [{ 'key': 'userId', 'value': { 'xsi_type': 'NumberValue', 'value': user_id } }] query = 'WHERE id = :userId' # Create a filter statement. statement = DfpUtils.FilterStatement(query, values) # Get users by statement. response = user_service.GetUsersByStatement(statement.ToStatement())[0] users = response.get('results') for user in users: # Display results. print('User with id \'%s\', email \'%s\', and role \'%s\' was found.' % (user['id'], user['email'], user['roleName']))
def main(client, activity_group_id, advertiser_company_id): # Initialize appropriate service. activity_group_service = client.GetService('ActivityGroupService', version='v201405') # 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 = DfpUtils.FilterStatement(query, values, 1) # Get activity groups by statement. response = activity_group_service.GetActivityGroupsByStatement( statement.ToStatement())[0] activity_groups = response.get('results') if activity_groups: # Display results. for activity_group in activity_groups: activity_group['companyIds'].append(advertiser_company_id) # Update the activity groups on the server. activity_groups = activity_group_service.UpdateActivityGroups( 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, contact_id): # Initialize appropriate service. contact_service = client.GetService('ContactService', version='v201311') # Create statement object to select the single contact by ID. values = [{ 'key': 'id', 'value': { 'xsi_type': 'NumberValue', 'value': contact_id } }] query = 'WHERE id = :id' statement = DfpUtils.FilterStatement(query, values, 1) # Get contacts by statement. response = contact_service.GetContactsByStatement( statement.ToStatement())[0] contacts = response.get('results') if contacts: for contact in contacts: contact['address'] = '123 New Street, New York, NY, 10011' # Update the contact on the server. contacts = contact_service.UpdateContacts(contacts) # Display results. for contact in contacts: print(('Contact with ID \'%s\', name \'%s\', and address \'%s\' ' 'was updated.') % (contact['id'], contact['name'], contact['address'])) else: print 'No contacts found to update.'