def main(client, order_id): # Initialize appropriate service. line_item_service = client.GetService('LineItemService', version='v201911') # Create query. statement = (ad_manager.StatementBuilder(version='v201911').Where( 'orderId = :orderId AND status = :status').WithBindVariable( 'status', 'NEEDS_CREATIVES').WithBindVariable('orderId', int(order_id))) line_items_activated = 0 # Get line items by statement. while True: response = line_item_service.getLineItemsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for line_item in response['results']: print( 'Line item with id "%s", belonging to order id "%s", and ' 'name "%s" will be activated.' % (line_item['id'], line_item['orderId'], line_item['name'])) # Perform action. result = line_item_service.performLineItemAction( {'xsi_type': 'ActivateLineItems'}, statement.ToStatement()) if result and int(result['numChanges']) > 0: line_items_activated += int(result['numChanges']) statement.offset += statement.limit else: break # Display results. if line_items_activated > 0: print('Number of line items activated: %s' % line_items_activated) else: print('No line items were activated.')
def main(client, key_id): # Initialize appropriate service. custom_targeting_service = client.GetService('CustomTargetingService', version='v202002') statement = (ad_manager.StatementBuilder(version='v202002').Where( 'customTargetingKeyId = :keyId').WithBindVariable( 'keyId', int(key_id))) while True: # Get custom targeting values by statement. response = custom_targeting_service.getCustomTargetingValuesByStatement( statement.ToStatement()) # Update each local custom targeting value object by changing its name. if 'results' in response and len(response['results']): updated_values = [] for value in response['results']: if not value['displayName']: value['displayName'] = value['name'] value['displayName'] += ' (Deprecated)' updated_values.append(value) values = custom_targeting_service.updateCustomTargetingValues( updated_values) # Display results. for value in values: print( 'Custom targeting value with id "%s", name "%s", and display' ' name "%s" was updated.' % (value['id'], value['name'], value['displayName'])) statement.offset += statement.limit else: break if response['totalResultSetSize'] == 0: print('No custom targeting values were updated.')
def main(client, proposal_id): # Initialize appropriate service. proposal_service = client.GetService('ProposalService', version='v201811') # Create query. statement = (ad_manager.StatementBuilder( version='v201811').Where('id = :proposalId').WithBindVariable( 'proposalId', proposal_id)) proposals_pushed_to_marketplace = 0 # Get proposals by statement. while True: response = proposal_service.getProposalsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): # Display results. for proposal in response['results']: print( 'Programmatic proposal with id "%s", name "%s", and status ' '"%s" will be pushed to Marketplace.' % (proposal['id'], proposal['name'], proposal['status'])) # Perform action. result = proposal_service.performProposalAction( {'xsi_type': 'RequestBuyerAcceptance'}, statement.ToStatement()) if result and int(result['numChanges']) > 0: proposals_pushed_to_marketplace += int(result['numChanges']) statement.offset += statement.limit else: break # Display results. if proposals_pushed_to_marketplace > 0: print('\nNumber of programmatic proposals pushed to Marketplace: %s' % proposals_pushed_to_marketplace) else: print('\nNo programmatic proposals were pushed to Marketplace.')
def main(client, order_id): # Initialize appropriate service. order_service = client.GetService('OrderService', version='v201808') # Create statement object to select a single order by an ID. statement = (ad_manager.StatementBuilder( version='v201808').Where('id = :orderId').WithBindVariable( 'orderId', long(order_id))) # Get orders by statement. response = order_service.getOrdersByStatement(statement.ToStatement()) if 'results' in response and len(response['results']): # Update each local order object by changing its notes. updated_orders = [] for order in response['results']: # Archived orders cannot be updated. if not order['isArchived']: order['notes'] = 'Spoke to advertiser. All is well.' updated_orders.append(order) # Update orders remotely. orders = order_service.updateOrders(updated_orders) # Display results. if orders: for order in orders: print( 'Order with id "%s", name "%s", advertiser id "%s", and ' 'notes "%s" was updated.' % (order['id'], order['name'], order['advertiserId'], order['notes'])) else: print 'No orders were updated.' else: print 'No orders found to update.'
def main(client): # Initialize appropriate service. suggested_ad_unit_service = client.GetService('SuggestedAdUnitService', version='v202102') # Create a filter statement. statement = (ad_manager.StatementBuilder(version='v202102').Where( 'numRequests > :numRequests').WithBindVariable( 'numRequests', THRESHOLD_NUMBER_OF_REQUESTS)) num_approved_suggested_ad_units = 0 # Get suggested ad units by statement. while True: response = suggested_ad_unit_service.getSuggestedAdUnitsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): # Print suggested ad units that will be approved. for suggested_ad_unit in response['results']: print( 'Suggested ad unit with id "%s", and number of requests "%s"' ' will be approved.' % (suggested_ad_unit['id'], suggested_ad_unit['numRequests'])) # Approve suggested ad units. result = suggested_ad_unit_service.performSuggestedAdUnitAction( {'xsi_type': 'ApproveSuggestedAdUnits'}, statement.ToStatement()) if result and int(result['numChanges']) > 0: num_approved_suggested_ad_units += int(result['numChanges']) else: break if num_approved_suggested_ad_units > 0: print('Number of suggested ad units approved: %s' % num_approved_suggested_ad_units) else: print('No suggested ad units were approved.')
def main(client): # Initialize appropriate service. custom_field_service = client.GetService('CustomFieldService', version='v201802') # Create statement to select only active custom fields that apply to # line items. statement = (ad_manager.StatementBuilder().Where( 'entityType = :entityType and isActive = :isActive').WithBindVariable( 'entityType', 'LINE_ITEM').WithBindVariable('isActive', True)) custom_fields_deactivated = 0 # Get custom fields by statement. while True: response = custom_field_service.getCustomFieldsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): # Display results. for custom_field in response['results']: print( 'Custom field with ID "%s" and name "%s" will' ' be deactivated.' % (custom_field['id'], custom_field['name'])) result = custom_field_service.performCustomFieldAction( {'xsi_type': 'DeactivateCustomFields'}, statement.ToStatement()) if result and int(result['numChanges']) > 0: custom_fields_deactivated += int(result['numChanges']) statement.offset += statement.limit else: break if custom_fields_deactivated > 0: print 'Number of custom fields deactivated: %s' % custom_fields_deactivated else: print 'No custom fields were deactivated.'
def main(client, proposal_id): # Initialize appropriate service. proposal_service = client.GetService('ProposalService', version='v201805') # Create statement object to select a single proposal by an ID. statement = (ad_manager.StatementBuilder().Where( 'id = :proposalId').WithBindVariable('proposalId', long(proposal_id)).Limit(1)) # Get proposals by statement. response = proposal_service.getProposalsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): # Update each local proposal object by changing its notes. updated_proposals = [] for proposal in response['results']: proposal[ 'internalNotes'] = 'Proposal needs review before approval.' updated_proposals.append(proposal) # Update proposals remotely. proposals = proposal_service.updateProposals(updated_proposals) # Display results. if proposals: for proposal in proposals: print( 'Proposal with id "%s", name "%s", and ' 'notes "%s" was updated.' % (proposal['id'], proposal['name'], proposal['internalNotes'])) else: print 'No proposals were updated.' else: print 'No proposals found to update.'
def main(client): # Initialize appropriate service. network_service = client.GetService('NetworkService', version='v201808') # Initialize a DataDownloader. report_downloader = client.GetDataDownloader(version='v201808') # Get root ad unit id for network. root_ad_unit_id = ( network_service.getCurrentNetwork()['effectiveRootAdUnitId']) # Set filter statement and bind value for reportQuery. statement = (ad_manager.StatementBuilder() .Where('PARENT_AD_UNIT_ID = :parentAdUnitId') .WithBindVariable('parentAdUnitId', long(root_ad_unit_id)) .Limit(None) # No limit or offset for reports .Offset(None)) # Create report job. report_job = { 'reportQuery': { 'dimensions': ['DATE', 'AD_UNIT_NAME'], 'adUnitView': 'HIERARCHICAL', 'columns': ['AD_SERVER_IMPRESSIONS', 'AD_SERVER_CLICKS', 'DYNAMIC_ALLOCATION_INVENTORY_LEVEL_IMPRESSIONS', 'DYNAMIC_ALLOCATION_INVENTORY_LEVEL_CLICKS', 'TOTAL_INVENTORY_LEVEL_IMPRESSIONS', 'TOTAL_INVENTORY_LEVEL_CPM_AND_CPC_REVENUE'], 'dateRangeType': 'LAST_WEEK', 'statement': statement.ToStatement() } } try: # Run the report and wait for it to finish. report_job_id = report_downloader.WaitForReport(report_job) except errors.AdManagerReportError, e: print 'Failed to generate report. Error was: %s' % e
def main(client, user_id): # Initialize appropriate service. user_team_association_service = client.GetService( 'UserTeamAssociationService', version='v202011') # Create filter text to select user team associations by the user ID. statement = (ad_manager.StatementBuilder(version='v202011') .Where('userId = :userId') .WithBindVariable('userId', int(user_id))) # Get user team associations by statement. response = user_team_association_service.getUserTeamAssociationsByStatement( statement.ToStatement()) user_team_associations = response['results'] if 'results' in response else [] for user_team_association in user_team_associations: print('User team association between user with ID "%s" and team with ' 'ID "%s" will be deleted.' % (user_team_association['userId'], user_team_association['teamId'])) print('Number of teams that the user will be removed from: %s' % len(user_team_associations)) # Action doesn't require limit/offset statement.limit = None statement.offset = None # Perform action. result = user_team_association_service.performUserTeamAssociationAction( {'xsi_type': 'DeleteUserTeamAssociations'}, statement.ToStatement()) # Display results. if result and int(result['numChanges']) > 0: print('Number of teams that the user was removed from: %s' % result['numChanges']) else: print('No user team associations were deleted.')
def main(client): # Initialize appropriate service. creative_wrapper_service = client.GetService('CreativeWrapperService', version='v201908') # Create a statement to select creative wrappers. statement = ad_manager.StatementBuilder(version='v201908') # Retrieve a small amount of creative wrappers at a time, paging # through until all creative wrappers have been retrieved. while True: response = creative_wrapper_service.getCreativeWrappersByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for creative_wrapper in response['results']: # Print out some information for each creative wrapper. print( 'Creative wrapper with ID "%d" and label id "%d" was found.\n' % (creative_wrapper['id'], creative_wrapper['labelId'])) statement.offset += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. content_service = client.GetService('ContentService', version='v202005') last_modified = (datetime.now(tz=pytz.timezone('America/New_York')) - timedelta(days=1)) # Create a statement to get recently modified content based on # lastModifiedDateTime. Changes to content bundle associations will update # the lastModifiedDateTime, but CMS metadata changes may not change the # lastModifiedDateTime. statement = (ad_manager.StatementBuilder(version='v202005').Where( 'lastModifiedDateTime >= :lastModifiedDateTime').WithBindVariable( 'lastModifiedDateTime', last_modified)) # Retrieve a small amount of content at a time, paging # through until all content have been retrieved. while True: response = content_service.getContentByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for content in response['results']: # Print out some information for each content. content_description = ( 'Content with ID "%d" and name "%s"' % (content['id'], content['name'].encode('utf-8'))) if content['contentBundleIds']: content_description += (' belonging to bundle IDs %s' % content['contentBundleIds']) content_description += ' was found.' print(content_description) statement.offset += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. company_service = client.GetService('CompanyService', version='v202102') # Create a statement to select companies. statement = (ad_manager.StatementBuilder( version='v202102').Where('type = :type').WithBindVariable( 'type', 'ADVERTISER')) # 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 and len(response['results']): 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 += statement.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='v201911') # Create query. statement = (ad_manager.StatementBuilder( version='v201911').Where('id = :id').OrderBy( 'id', ascending=True).Limit(1).WithBindVariable('id', placement_id)) # Get placements by statement. page = placement_service.getPlacementsByStatement(statement.ToStatement()) placement = page['results'][0] placement['description'] = 'This placement contains all leaderboards.' # Update placements remotely. updated_placements = placement_service.updatePlacements([placement]) for placement in updated_placements: print('Placement with id "%s" and name "%s" was updated.' % (placement['id'], placement['name']))
def main(client): # Initialize appropriate service. product_package_service = client.GetService('ProductPackageService', version='v201808') # Create a statement to select product packages. statement = (ad_manager.StatementBuilder().Where( 'status = :status').WithBindVariable('status', 'ACTIVE')) # Retrieve a small amount of product packages at a time, paging # through until all product packages have been retrieved. while True: response = product_package_service.getProductPackagesByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for product_package in response['results']: # Print out some information for each product package. print( 'Product package with ID "%d" and name "%s" was found.\n' % (product_package['id'], product_package['name'])) statement.offset += statement.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='v201805') # Create filter text to select user team associations by the user ID. statement = (ad_manager.StatementBuilder() .Where('userId = :userId') .WithBindVariable('userId', long(user_id))) # Get user team associations by statement. response = user_team_association_service.getUserTeamAssociationsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): updated_user_team_associations = [] # Update each local user team association to read only access. for user_team_association in response['results']: user_team_association['overriddenTeamAccessType'] = 'READ_ONLY' updated_user_team_associations.append(user_team_association) # Update user team associations on the server. user_team_associations = ( user_team_association_service.updateUserTeamAssociations( updated_user_team_associations)) # Display results. if user_team_associations: for user_team_association in user_team_associations: print ('User team association between user with ID "%s" and team with' ' ID "%s" was updated.' % (user_team_association['userId'], user_team_association['teamId'])) else: print 'No user team associations were updated.' else: print 'No user team associations found to update.'
def main(client): # Initialize appropriate service. activity_service = client.GetService('ActivityService', version='v201902') # Create a statement to select activities. statement = (ad_manager.StatementBuilder( version='v201902').Where('status = :status').WithBindVariable( 'status', 'ACTIVE')) # Retrieve a small amount of activities at a time, paging # through until all activities have been retrieved. while True: response = activity_service.getActivitiesByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for activity in response['results']: # Print out some information for each activity. print( 'Activity with ID "%d", name "%s", and type "%s" was found.\n' % (activity['id'], activity['name'], activity['type'])) statement.offset += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. suggested_ad_unit_service = client.GetService( 'SuggestedAdUnitService', version='v201802') # Create a statement to select suggested ad units. statement = ad_manager.StatementBuilder() # Retrieve a small amount of suggested ad units at a time, paging # through until all suggested ad units have been retrieved. while True: response = suggested_ad_unit_service.getSuggestedAdUnitsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for suggested_ad_unit in response['results']: # Print out some information for each suggested ad unit. print( 'Suggested ad unit with ID "%s" and num requests "%d" was found.\n' % (suggested_ad_unit['id'], suggested_ad_unit['numRequests'])) statement.offset += statement.limit else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. custom_field_service = client.GetService('CustomFieldService', version='v202008') # Create a statement to select custom fields. statement = (ad_manager.StatementBuilder( version='v202008').Where('entityType = :entityType').WithBindVariable( 'entityType', 'LINE_ITEM')) # Retrieve a small amount of custom fields at a time, paging # through until all custom fields have been retrieved. while True: response = custom_field_service.getCustomFieldsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for custom_field in response['results']: # Print out some information for each custom field. print('Custom field with ID "%d" and name "%s" was found.\n' % (custom_field['id'], custom_field['name'])) statement.offset += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. lica_service = client.GetService('LineItemCreativeAssociationService', version='v201805') # Create statement object to get all LICAs. statement = ad_manager.StatementBuilder() while True: # Get LICAs by statement. response = lica_service.getLineItemCreativeAssociationsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): # 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 += statement.limit else: break if response['totalResultSetSize'] == 0: print 'No LICAs found to update.'
def main(client, audience_segment_id): # Initialize appropriate service. audience_segment_service = client.GetService( 'AudienceSegmentService', version='v201805') # Create statement object to get the specified first party audience segment. statement = (ad_manager.StatementBuilder() .Where('Type = :type AND Id = :audience_segment_id') .WithBindVariable('audience_segment_id', long(audience_segment_id)) .WithBindVariable('type', 'FIRST_PARTY') .Limit(1)) response = audience_segment_service.getAudienceSegmentsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): segments = response['results'] for segment in segments: print ( 'Audience segment with id "%s" and name "%s" will be populated.' % (segment['id'], segment['name'])) action = { 'xsi_type': 'PopulateAudienceSegments' } populated_audience_segments = ( audience_segment_service.performAudienceSegmentAction( action, statement.ToStatement())) print ('%s audience segment populated' % populated_audience_segments['numChanges']) else: print 'No Results Found'
def main(client, master_creative_id): # Initialize appropriate service. creative_set_service = client.GetService('CreativeSetService', version='v201805') # Create a statement to select creative sets. statement = (ad_manager.StatementBuilder().Where( 'masterCreativeId = :masterCreativeId').WithBindVariable( 'masterCreativeId', master_creative_id)) # Retrieve a small amount of creative sets at a time, paging # through until all creative sets have been retrieved. while True: response = creative_set_service.getCreativeSetsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for creative_set in response['results']: # Print out some information for each creative set. print('Creative set with ID "%d" and name "%s" was found.\n' % (creative_set['id'], creative_set['name'])) statement.offset += statement.limit else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. order_service = client.GetService('OrderService', version='v201802') # Create a filter statement. today = datetime.date.today() statement = (ad_manager.StatementBuilder().Where( ('status in (\'DRAFT\', \'PENDING_APPROVAL\') ' 'AND endDateTime >= :today AND isArchived = FALSE')).WithBindVariable( 'today', today)) orders_approved = 0 # Get orders by statement. while True: response = order_service.getOrdersByStatement(statement.ToStatement()) if 'results' in response and len(response['results']): # Display results. for order in response['results']: print( 'Order with id "%s", name "%s", and status "%s" will be ' 'approved.' % (order['id'], order['name'], order['status'])) # Perform action. result = order_service.performOrderAction( {'xsi_type': 'ApproveOrders'}, statement.ToStatement()) if result and int(result['numChanges']) > 0: orders_approved += int(result['numChanges']) statement.offset += statement.limit else: break # Display results. if orders_approved > 0: print 'Number of orders approved: %s' % orders_approved else: print 'No orders were approved.'
def main(client): # Initialize appropriate service. rate_card_service = client.GetService('RateCardService', version='v201905') # Create a statement to select rate cards. statement = ad_manager.StatementBuilder(version='v201905') # 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 and len(response['results']): 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 += statement.limit else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize the adjustment service. adjustment_service = client.GetService('AdjustmentService', version='v202011') # Create a statement to get all forecast adjustments. statement = ad_manager.StatementBuilder(version='v202011') # Retrieve a small number of forecast adjustments at a time, paging # through until all forecast adjustments have been retrieved. while True: response = adjustment_service.getForecastAdjustmentsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for adjustment in response['results']: # Print out some information for each forecast adjustment. print('Forecast adjustment with id %d and name "%s" belonging to ' 'forecast segment %d was found.' % (adjustment['id'], adjustment['name'], adjustment['trafficForecastSegmentId'])) statement.offset += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client): # Initialize appropriate service. activity_group_service = client.GetService('ActivityGroupService', version='v201811') # Create a statement to select activity groups. statement = ad_manager.StatementBuilder(version='v201811') # 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 and len(response['results']): 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 += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client, proposal_id): # Initialize appropriate service. proposal_line_item_service = client.GetService( 'ProposalLineItemService', version='v201805') # Create a statement to select proposal line items. statement = (ad_manager.StatementBuilder() .Where('proposalId = :proposalId') .WithBindVariable('proposalId', proposal_id)) # 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 and len(response['results']): 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 += statement.limit else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. cdn_config_service = client.GetService('CdnConfigurationService', version='v202011') # Create a statement to select cdn configurations. statement = ad_manager.StatementBuilder(version='v202011') # Retrieve a small number of configs at a time, paging # through until all have been retrieved. while True: response = (cdn_config_service.getCdnConfigurationsByStatement( statement.ToStatement())) if 'results' in response and len(response['results']): for cdn in response['results']: # Print out some information for each company. print( 'Found CDN configuration with type "%s" and name "%s".' % (cdn['cdnConfigurationType'], cdn['name'])) statement.offset += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])
def main(client, exchange_rate_id): # Initialize appropriate service. exchange_rate_service = client.GetService('ExchangeRateService', version='v201811') # Create a statement to get an exchange rate by its ID. statement = (ad_manager.StatementBuilder(version='v201811') .Where('id = :id') .WithBindVariable('id', long(exchange_rate_id)) .Limit(1)) # Get rate cards by statement. response = exchange_rate_service.getExchangeRatesByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): exchange_rate = response['results'][0] # Update the exchange rate value to 1.5. exchange_rate['exchangeRate'] = long(15000000000) exchange_rates = exchange_rate_service.updateExchangeRates([exchange_rate]) if exchange_rates: for exchange_rate in exchange_rates: print ('Exchange rate with id \'%s,\' currency code \'%s,\' ' 'direction \'%s,\' and exchange rate \'%.2f\' ' 'was updated.' % (exchange_rate['id'], exchange_rate['currencyCode'], exchange_rate['direction'], (float(exchange_rate['exchangeRate']) / 10000000000))) else: print 'No exchange rates were updated.' else: print 'No exchange rates found to update.'
def main(client): # Initialize appropriate service. live_stream_event_service = client.GetService('LiveStreamEventService', version='v201811') # Create a statement to select live stream events. statement = ad_manager.StatementBuilder(version='v201811') # Retrieve a small amount of live stream events at a time, paging # through until all live stream events have been retrieved. while True: response = live_stream_event_service.getLiveStreamEventsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for live_stream_event in response['results']: # Print out some information for each live stream event. print( 'live stream event with id "%d" and name "%s" was found.' % (live_stream_event['id'], live_stream_event['name'])) statement.offset += statement.limit else: break print '\nNumber of results found: %s' % response['totalResultSetSize']
def main(client): # Initialize appropriate service. targeting_preset_service = client.GetService('TargetingPresetService', version='v202102') # Create a statement to select suggested ad units. statement = ad_manager.StatementBuilder(version='v202102') # Retrieve a small number of targeting presets at a time, paging # through until all targeting presets have been retrieved. while True: response = targeting_preset_service.getTargetingPresetsByStatement( statement.ToStatement()) if 'results' in response and len(response['results']): for targeting_preset in response['results']: # Print out some information for each targeting preset. print( 'Targeting preset with ID "%s" and name "%d" was found.\n' % (targeting_preset['id'], targeting_preset['name'])) statement.offset += statement.limit else: break print('\nNumber of results found: %s' % response['totalResultSetSize'])