首页 > 解决方案 > AdWords 范围:使用 OAuth 流程进行身份验证后缺少 gapi.client.adwords。找不到要传递给 gapi.client.request() 的路径变量

问题描述

我按照本指南创建了一个 Web 应用程序流程,用于通过 Google 对用户进行身份验证。

尽管在范围参数中列出,但一旦身份验证完成https://www.googleapis.com/auth/adwords,我就不会得到 a或类似的东西。我无法检索有关用户的 MCC/AdWords/Ad Manager 帐户的任何信息。gapi.client.adwords

我试过使用gapi.client.request(),但似乎找不到访问 AdWords API 时应该传递的参数。

我正在尝试做这样的事情:

let __req = gapi.client.request({
  method: "GET",
  path: "/adwords/v?/???",
  params: { fields: "???" }
});

__req.execute(function(response) {
  console.log(response);
});

...或像这样:

console.log(gapi.client.adwords)

但我不知道我需要传递什么gapi.client.request并且gapi.client.adwords不存在。

有没有可能我没有通过adiscoveryDoc或类似的东西?AdWords的位置在哪里?discoveryDoc

scope:
  "https://www.googleapis.com/auth/adwords",
discoveryDocs: ["???"]

用例:我正在尝试获取与经过身份验证的用户相关联(或归其所有)的 MCC/AdWords/Ad Manager 帐户(特别是其 ID 和名称)的列表。

提前致谢!

标签: javascriptgoogle-oauthgoogle-ads-api

解决方案


Google Ads / Adwords API 与许多其他 Google 界面有很大不同,因为它不对公众开放,也无法通过“普通” API 客户端库访问。

为了与 Ads API 交互(旧版 Adwords API 也是如此)并访问生产帐户,您需要出示有效的开发人员令牌。要获得一个,您需要按照此处所述注册访问权限。请注意,您将立即获得开发人员令牌,但您只能在您的应用程序通过验证之前访问测试帐户。

获得开发者令牌后,建议使用官方客户端库:

不幸的是,目前这两个 API 都没有提供官方的 JS 客户端库。


推荐阅读