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']
예제 #5
0
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']
예제 #6
0
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']
예제 #7
0
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.'
예제 #10
0
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.'
예제 #14
0
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']
예제 #20
0
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.'
예제 #21
0
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']))
예제 #22
0
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']
예제 #23
0
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.'
예제 #25
0
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']
예제 #26
0
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']
예제 #27
0
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.'
예제 #30
0
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.'