Служба кампаний DoubleClick

Служба DoubleClick Campaigns позволяет использовать API отчетов и трафика DCM/DFA в скрипте приложений. Этот API обеспечивает программный доступ к отчетам DoubleClick Campaign Manager (DCM) и DoubleClick Digital Marketing (DDM).

Ссылка

Подробную информацию об этой услуге можно найти в справочной документации API отчетов и управления трафиком DCM/DFA. Как и все расширенные службы Apps Script, служба DoubleClick Campaigns использует те же объекты, методы и параметры, что и общедоступный API. Дополнительные сведения см. в разделе Как определяются сигнатуры методов .

Чтобы сообщить о проблемах и получить другую поддержку, ознакомьтесь с руководством по поддержке отчетов и трафика DCM/DFA .

Пример кода

В приведенном ниже примере кода используется API версии 3.3 .

Получить список профилей пользователей

В этом примере регистрируются все профили пользователей, доступные в учетной записи.

расширенный/doubleclick.gs
/**
 * Logs all of the user profiles available in the account.
 */

function listUserProfiles() {
 
// Retrieve the list of available user profiles
 
try {
   
const profiles = DoubleClickCampaigns.UserProfiles.list();

   
if (profiles.items) {
     
// Print out the user ID and name of each
     
for (let i = 0; i < profiles.items.length; i++) {
       
const profile = profiles.items[i];
        console
.log('Found profile with ID %s and name "%s".',
            profile
.profileId, profile.userName);
     
}
   
}
 
} catch (e) {
   
// TODO (Developer) - Handle exception
    console
.log('Failed with error: %s', e.error);
 
}
}

Получить список активных кампаний

В этом образце регистрируются названия и идентификаторы всех активных кампаний. Обратите внимание на использование токенов подкачки для получения всего списка.

расширенный/doubleclick.gs
/**
 * Logs names and ID's of all active campaigns.
 * Note the use of paging tokens to retrieve the whole list.
 */

function listActiveCampaigns() {
 
const profileId = '1234567'; // Replace with your profile ID.
 
const fields = 'nextPageToken,campaigns(id,name)';
  let result
;
  let pageToken
;
 
try {
   
do {
      result
= DoubleClickCampaigns.Campaigns.list(profileId, {
       
'archived': false,
       
'fields': fields,
       
'pageToken': pageToken
     
});
     
if (result.campaigns) {
       
for (let i = 0; i < result.campaigns.length; i++) {
         
const campaign = result.campaigns[i];
          console
.log('Found campaign with ID %s and name "%s".',
              campaign
.id, campaign.name);
       
}
     
}
      pageToken
= result.nextPageToken;
   
} while (pageToken);
 
} catch (e) {
   
// TODO (Developer) - Handle exception
    console
.log('Failed with error: %s', e.error);
 
}
}

Создайте нового рекламодателя и кампанию.

В этом примере создается новый рекламодатель и новая кампания с этим рекламодателем. Акция рассчитана на один месяц.

расширенный/doubleclick.gs
/**
 * Creates a new advertiser, and creates a new campaign with that advertiser.
 * The campaign is set to last for one month.
 */

function createAdvertiserAndCampaign() {
 
const profileId = '1234567'; // Replace with your profile ID.

 
const advertiser = {
    name
: 'Example Advertiser',
    status
: 'APPROVED'
 
};

 
try {
   
const advertiserId = DoubleClickCampaigns.Advertisers
       
.insert(advertiser, profileId).id;

   
const landingPage = {
      advertiserId
: advertiserId,
      archived
: false,
      name
: 'Example landing page',
      url
: 'https://www.google.com'
   
};
   
const landingPageId = DoubleClickCampaigns.AdvertiserLandingPages
       
.insert(landingPage, profileId).id;

   
const campaignStart = new Date();
   
// End campaign after 1 month.
   
const campaignEnd = new Date();
    campaignEnd
.setMonth(campaignEnd.getMonth() + 1);

   
const campaign = {
      advertiserId
: advertiserId,
      defaultLandingPageId
: landingPageId,
      name
: 'Example campaign',
      startDate
: Utilities.formatDate(campaignStart, 'GMT', 'yyyy-MM-dd'),
      endDate
: Utilities.formatDate(campaignEnd, 'GMT', 'yyyy-MM-dd')
   
};
   
DoubleClickCampaigns.Campaigns.insert(campaign, profileId);
 
} catch (e) {
   
// TODO (Developer) - Handle exception
    console
.log('Failed with error: %s', e.error);
 
}
}