บริการ DoubleClick Bid Manager

Apps Script ที่ใช้บริการ DoubleClick Bid Manager

บริการ DoubleClick Bid Manager ช่วยให้คุณใช้ DV360 Bid Manager API ใน Google Apps Script ได้ API นี้ ช่วยให้เข้าถึงการรายงานของ DoubleClick Bid Manager (DBM) แบบเป็นโปรแกรมได้

นี่เป็นบริการขั้นสูงที่ต้องเปิดใช้ก่อนใช้งาน

ข้อมูลอ้างอิง

ดูข้อมูลโดยละเอียดเกี่ยวกับบริการนี้ได้ที่เอกสารอ้างอิงสำหรับ DBM Reporting API เช่นเดียวกับบริการขั้นสูงทั้งหมดใน Apps Script บริการ DoubleClick Bid Manager จะใช้วัตถุ เมธอด และพารามิเตอร์เดียวกันกับ API สาธารณะ ดูข้อมูลเพิ่มเติมได้ที่ วิธีกำหนดลายเซ็นของเมธอด

หากต้องการรายงานปัญหาและรับการสนับสนุนอื่นๆ โปรดดูคู่มือการสนับสนุนด้านการรายงานและการดูแลการแสดงโฆษณาของ DBM

โค้ดตัวอย่าง

โค้ดตัวอย่างต่อไปนี้ใช้ API เวอร์ชัน 2

รับรายการคำค้นหา

ตัวอย่างนี้จะบันทึกการค้นหาทั้งหมดที่มีในบัญชี

advanced/doubleclickbidmanager.gs
/**
 * Logs all of the queries available in the account.
 */
function listQueries() {
  // Retrieve the list of available queries
  try {
    const queries = DoubleClickBidManager.Queries.list();

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

สร้างและเรียกใช้การค้นหา

ตัวอย่างนี้สร้างและเรียกใช้การค้นหา DBM ใหม่

advanced/doubleclickbidmanager.gs
/**
 * Create and run a new DBM Query
 */
function createAndRunQuery() {
  let result;
  let execution;
  //We leave the default date range blank for the report run to
  //use the value defined during query creation
  const defaultDateRange = {};
  const partnerId = "1234567"; //Replace with your Partner ID
  const query = {
    metadata: {
      title: "Apps Script Example Report",
      dataRange: {
        range: "YEAR_TO_DATE",
      },
      format: "CSV",
    },
    params: {
      type: "STANDARD",
      groupBys: [
        "FILTER_PARTNER",
        "FILTER_PARTNER_NAME",
        "FILTER_ADVERTISER",
        "FILTER_ADVERTISER_NAME",
      ],
      filters: [{ type: "FILTER_PARTNER", value: partnerId }],
      metrics: ["METRIC_IMPRESSIONS"],
    },
    schedule: {
      frequency: "ONE_TIME",
    },
  };

  try {
    result = DoubleClickBidManager.Queries.create(query);
    if (result.queryId) {
      console.log(
        'Created query with ID %s and name "%s".',
        result.queryId,
        result.metadata.title,
      );
      execution = DoubleClickBidManager.Queries.run(
        defaultDateRange,
        result.queryId,
      );
      if (execution.key) {
        console.log(
          'Created query report with query ID %s and report ID "%s".',
          execution.key.queryId,
          execution.key.reportId,
        );
      }
    }
  } catch (e) {
    // TODO (Developer) - Handle exception
    console.log(e);
    console.log("Failed with error: %s", e.error);
  }
}

ดึงข้อมูลรายงานล่าสุดสำหรับคําค้นหา DBM

ตัวอย่างนี้จะดึงข้อมูลรายงานล่าสุดสำหรับคำค้นหา DBM และบันทึกเนื้อหา

advanced/doubleclickbidmanager.gs
/**
 * Fetches a report file
 */
function fetchReport() {
  const queryId = "1234567"; // Replace with your query ID.
  const orderBy = "key.reportId desc";

  try {
    const report = DoubleClickBidManager.Queries.Reports.list(queryId, {
      orderBy: orderBy,
    });
    if (report.reports) {
      const firstReport = report.reports[0];
      if (firstReport.metadata.status.state === "DONE") {
        const reportFile = UrlFetchApp.fetch(
          firstReport.metadata.googleCloudStoragePath,
        );
        console.log("Printing report content to log...");
        console.log(reportFile.getContentText());
      } else {
        console.log(
          "Report status is %s, and is not available for download",
          firstReport.metadata.status.state,
        );
      }
    }
  } catch (e) {
    // TODO (Developer) - Handle exception
    console.log(e);
    console.log("Failed with error: %s", e.error);
  }
}