DoubleClick Bid Manager सेवा

DoubleClick Bid Manager सेवा की मदद से, Apps Script में DV360 Bid Manager API का इस्तेमाल किया जा सकता है. इस एपीआई की मदद से, DoubleClick Bid Manager (DBM) Reporting को प्रोग्रामैटिक तरीके से ऐक्सेस किया जा सकता है.

रेफ़रंस

इस सेवा के बारे में ज़्यादा जानकारी के लिए, DBM Reporting API के रेफ़रंस दस्तावेज़ देखें. Apps Script की सभी ऐडवांस सेवाओं की तरह, DoubleClick Bid Manager सेवा भी सार्वजनिक एपीआई के ऑब्जेक्ट, तरीकों, और पैरामीटर का इस्तेमाल करती है. ज़्यादा जानकारी के लिए, तरीके के सिग्नेचर कैसे तय किए जाते हैं लेख पढ़ें.

समस्याओं की शिकायत करने और अन्य सहायता पाने के लिए, DBM Reporting and Trafficking की सहायता गाइड देखें.

नमूना कोड

नीचे दिए गए सैंपल कोड में, एपीआई के दूसरे वर्शन का इस्तेमाल किया गया है.

क्वेरी की सूची पाना

इस सैंपल में, खाते में मौजूद सभी क्वेरी लॉग की जाती हैं.

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