在 Google Apps 脚本中使用 Adwords API (MccApp)

Use Adwords API (MccApp) in Google Apps Script

我有一个用 GAS(Google Apps 脚本)编写的自定义 API,我想在其中使用 Adwords API。

有时与 MccApp 一起使用,该服务很容易从 Adwords 脚本本身(我的客户中心 > 脚本)中获得。

例如:

            function account(client) {
              var result = {
                  'id': null,
                  'campaigns': {}
              }
              result.id = client.getCustomerId()
              var currentAct = AdWordsApp.currentAccount()
              MccApp.select(client)
              var campaignIterator = AdWordsApp.campaigns().get()
              while (campaignIterator.hasNext()) {
                  var campaign = campaignIterator.next()
                  result.campaigns[campaign.getName()] = campaign.getId()
              }
              MccApp.select(currentAct)
              return result
            }

但是,此 API 在 Google Apps 脚本中并不可用。我已经尝试在 "Resources > Advanced Google Services" 和开发人员控制台下启用它,但是 UI 没有提供我可以看到的选项。

问题:是否可以在 Google Apps 脚本中启用 AdwordsApp 和 MccApp,以便上述代码片段可以在 GAS 中运行?

如果没有,我知道已经有两个解决方法:

  1. 只需使用 Adwords 脚本

  2. 从 GAS 与 API 通信,就好像它是外部服务一样(即...使用 SOAP、REST 等...)

您似乎可以通过 管理 API 访问 AdWord API :

请参阅概念概述部分:

AdWords Links can be constructed at the Web Property level.

Google Developer Guide - What Is The Management API - Overview

您可以使用 Google 分析 API 进入管理 API。

引用:

The Analytics service allows you to use the Google Analytics Management API and Reporting APIs in Apps Script

Google Documentation - Google Analytics API

因此,您需要使用 RESOURCES 菜单,选择 ADVANCED GOOGLE SERVICES,然后打开 Google 分析 API 上。

通过 Google 分析 API,您可以访问 管理 API

经过大量研究,确实没有办法添加 MccApp 和 AdwordsApp 服务以在 Google Apps 脚本中使用。最近的解决方案是与 API 进行通信,就像它是外部的一样,或者只使用 Adwords 脚本。