gpt4 book ai didi

oauth - 使用 Google AdWords API 设置 oAuth

转载 作者:行者123 更新时间:2023-12-02 01:14:38 24 4
gpt4 key购买 nike

我正在尝试获得一个使用 Google AdWords API 的 Ruby on Rails 项目。

到目前为止,我按照 this guide 中的步骤做了什么:

  • 我创建了一个 AdWords 经理帐户。
  • 我创建了一个测试帐户,它是 AdWords 管理器帐户的一部分。
  • 我在我的 Rails 项目中设置了 Ruby 客户端库。
  • 然后我尝试使用 example code 设置 OAuth2 身份验证来自指南。

然而,自从编写了指南(并制作了指南的 video version)以来,界面似乎发生了变化。我能够创建客户端 ID client_secrets.json 文件或服务帐户 .json 文件。我能够导出这些并从中读取设置。

  • 我使用 OAUTH2_SERVICE_ACCOUNT .json 文件添加了所需的设置。

现在,在尝试连接时,我返回了 AdwordsAPIException AuthenticationError.NOT_ADS_USER

因此我知道实际的身份验证 有效。但是,授权 没有。

如何为来 self 的 Google 帐户的 oAuth 凭据启用 AdWords API 支持? Google Credentials Console 列出了许多您可以打开的 API,但 AdWords API 不在其中。 AdWords guide根本没有提到开启API,只告诉你创建一个新的Credential。

这是怎么回事?

最佳答案

Adwords API 不需要添加到您在 Google Cloud 控制台中的项目(它始终处于启用状态)— 如错误消息所示,实际问题在于您的服务帐户没有访问任何 Adwords 帐户。

事实上,使用服务帐户对 Adwords API 进行身份验证的唯一方法是当您还使用 G Suite 域时(请参阅 the corresponding documentation, section "Prerequisites"

如果您有 G Suite 域,则需要

  • 在您的服务帐户 key 上启用“G Suite 全域委派”

  • 将 Google 云项目的项目 ID 添加到您的 G Suite 域的授权 API 客户端列表

  • 使用您的服务帐户冒充您 G 套件域中具有 Adwords 访问权限的任何用户

如您所见,这是一个非常复杂的过程。我的建议(由上述文章分享)是使用 OAuth2 installed application flow适用于具有 Adwords 访问权限的任何用户。这需要在您的一端存储获得的刷新 token ,但比启用委托(delegate)的服务帐户更灵活(并且可以说更安全)并且更易于设置。

关于oauth - 使用 Google AdWords API 设置 oAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43211120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com