服务帐户的OAuth2.0设置正确以使用Google Ads Api吗?

8yoxcaq7  于 2022-09-21  发布在  Go
关注(0)|答案(1)|浏览(201)

我已经创建了我的服务帐户,尽我所能地遵循谷歌的文档。我创建了一个JSON密钥文件,并成功地使用它来创建和刷新我的访问令牌,但是当我尝试使用该访问令牌调用Google ADS API时,我得到了一个401,并显示消息“User in the Cookie is Not a Valid ADS User”。

我使用的是一个PHP cURL请求,而不是Google客户端库。

我的怀疑是,我在Google Cloud控制台中的主广告帐户、服务帐户和项目之间的某个地方设置得不正确,但我发现文档令人困惑和无用。

我向Google Adds API Google小组提交了一个问题,支持人员说我的设置看起来不错,但也承认他无法从他那端看到所有设置。

我创作了以下拼图:
谷歌广告主账号
开发人员令牌
Google云控制台中的项目
项目中的服务帐户
服务帐户的私钥
将主广告帐户的电子邮件设置为服务帐户所有者的角色
已为作用域为“https://www.googleapis.com/auth/adwords”“的服务帐户启用全域性委派
使用JSON文件中的私钥请求和接收访问令牌

请让我知道我应该提供哪些额外的细节来解决我的问题。先谢谢你。

2cmtqfgy

2cmtqfgy1#

我的错误是,当我创建我的访问令牌时,我将拥有Google ADS Manager帐户的Gmail帐户传递给参数$SUB,但要访问Google ADS API,服务帐户必须模拟在Google Workspace中注册的域中的用户。这一点是在文档中提出的,但相当轻描淡写。

为了解决这个问题,我向Workspace域中的一个电子邮件帐户授予了对Google ADS Manager帐户的访问权限,并将该电子邮件地址传递给了$SUB;现在我已经成功地对Google ADS API进行了一次测试调用。

我附上了我的配置的匿名摘要,以防它对将来可能阅读本文的任何人有所帮助。

相关问题