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

سرویس کمپین‌های DoubleClick به شما امکان می‌دهد از 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 مراجعه کنید.

کد نمونه

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

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

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

پیشرفته/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);
  }
}