سرویس کمپین های DoubleClick

سرویس DoubleClick Campaigns به شما امکان می دهد از API گزارش دهی و ترافیک DCM/DFA در Apps Script استفاده کنید. این API دسترسی برنامه‌ریزی شده به DoubleClick Campaign Manager (DCM) و DoubleClick Digital Marketing (DDM) Reporting را فراهم می‌کند.

ارجاع

برای اطلاعات دقیق درباره این سرویس، به مستندات مرجع برای API گزارش دهی و قاچاق DCM/DFA مراجعه کنید. مانند همه سرویس‌های پیشرفته در Apps Script، سرویس DoubleClick Campaigns از همان اشیا، روش‌ها و پارامترهای API عمومی استفاده می‌کند. برای اطلاعات بیشتر، نحوه تعیین امضای روش را ببینید.

برای گزارش مشکلات و یافتن پشتیبانی دیگر، به راهنمای پشتیبانی گزارش‌دهی و قاچاق DCM/DFA مراجعه کنید.

کد نمونه

کد نمونه زیر از نسخه 3.3 API استفاده می کند.

لیستی از پروفایل های کاربران را دریافت کنید

این نمونه تمام نمایه های کاربری موجود در حساب را ثبت می کند.

advanced/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);
  }
}

لیستی از کمپین های فعال را دریافت کنید

این نمونه اسامی و شناسه‌های همه کمپین‌های فعال را ثبت می‌کند. به استفاده از نشانه های صفحه بندی برای بازیابی کل لیست توجه کنید.

advanced/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);
  }
}

یک تبلیغ‌کننده و کمپین جدید ایجاد کنید

این نمونه یک تبلیغ‌کننده جدید ایجاد می‌کند و یک کمپین جدید با آن تبلیغ‌کننده ایجاد می‌کند. این کمپین قرار است به مدت یک ماه ادامه داشته باشد.

advanced/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);
  }
}