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
  let defaultDateRange = {}
  let partnerId = "1234567" //Replace with your Partner ID
  let 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);
  }
}