【问题标题】:Bing Ads Script to change shared campaign budget on multiple accounts using Google Sheets使用 Google 表格更改多个帐户的共享广告系列预算的 Bing Ads 脚本
【发布时间】:2019-04-12 15:57:49
【问题描述】:

我运行了一个 Google Ads 脚本来更改广告系列预算,但在 Bing Ads 中实施相同的脚本对我来说比较困难。我在将 Google 表格与 Bing Ads 脚本连接时遇到问题。我获得了 clientId、clientSecret 和刷新令牌来授权 Bing 中的 Google 服务,但我正在努力使用代码以允许脚本读取我的 Google 表格文件。

我附上了一些负责将 Google 表格文件连接到 Bing 脚本的代码。它应该允许它读取它的内容,然后将其更改为我在该文件中提供的任何值。

const credentials = {
      accessToken: '', // not sure if i needed it if I got refresh token
      clientId: 'HIDDEN',
      clientSecret: 'HIDDEN',
      refreshToken: 'HIDDEN'
  };

  function main() {

var SPREADSHEET_URL = 'HIDDEN';

var GoogleApis;
  (function (GoogleApis) {
      GoogleApis.readSheetsService = credentials => readService("https://sheets.googleapis.com/$discovery/rest?version=v4", credentials);
       
      // Creation logic based on https://developers.google.com/discovery/v1/using#usage-simple
      function readService(SPREADSHEET_URL, credentials) {
          const content = UrlFetchApp.fetch(SPREADSHEET_URL).getContentText();
          const discovery = JSON.parse(content);
          const accessToken = getAccessToken(credentials);
          const standardParameters = discovery.parameters;
      }

  function getAccessToken(credentials) {
      if (credentials.accessToken) {
          return credentials.accessToken;
      }
      const tokenResponse = UrlFetchApp.fetch('https://www.googleapis.com/oauth2/v4/token', { method: 'post', contentType: 'application/x-www-form-urlencoded', muteHttpExceptions: true, payload: { client_id: credentials.clientId, client_secret: credentials.clientSecret, refresh_token: credentials.refreshToken, grant_type: 'refresh_token' } });
      const responseCode = tokenResponse.getResponseCode();
      const responseText = tokenResponse.getContentText();
      if (responseCode >= 200 && responseCode <= 299) {
          const accessToken = JSON.parse(responseText)['access_token'];
          return accessToken;
      }
      throw new Error(responseText);
   })(GoogleApis || (GoogleApis = {}));

它在代码的最后一行抛出语法错误: })(GoogleApis || (GoogleApis = {}));

但我认为还有更多。

【问题讨论】:

    标签: google-play-services google-sheets-api bing bing-ads-api


    【解决方案1】:

    请尝试 main() 外部的 var GoogleApis 声明,如本例所示:https://docs.microsoft.com/en-us/advertising/scripts/examples/calling-google-services

    我希望这会有所帮助。

    【讨论】:

    • 感谢您的建议。我看到 var GoogleApis 在脚本的末尾。你能详细说明为什么这很重要吗?如果我尝试在 main 函数之前而不是之后使用此声明,有什么区别吗?
    猜你喜欢
    • 1970-01-01
    • 2022-07-25
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多