DoubleClick Bid Manager サービス

DoubleClick Bid Manager サービスを使用すると、Apps Script で DV360 Bid Manager API を使用できます。この 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);
  }
}