无法使用服务帐户向Doubleclick出价管理器Api进行身份验证

时间:2018-03-21 05:07:28

标签: ruby google-api google-oauth google-api-client double-click

我写了一些代码来连接google api Doubleclick bid manager

我在https://console.cloud.google.com/apis/credentials?下载client_secrets.json,然后运行一些代码,如

require 'google/apis/doubleclickbidmanager_v1'
require 'google/api_client/client_secrets'
service = Google::Apis::DoubleclickbidmanagerV1::DoubleClickBidManagerService.new
service.authorization = Google::Auth.get_application_default(['https://www.googleapis.com/auth/doubleclickbidmanager'])
service.download_line_items

它会回复一些错误,例如:

  

发送HTTP帖子https://www.googleapis.com/doubleclickbidmanager/v1/lineitems/downloadlineitems?       403       #https://www.googleapis.com/doubleclickbidmanager/v1/lineitems/downloadlineitems == 403(354 bytes)1091ms>       捕获错误unauthorizedApiAccess:您无权使用DoubleClick Bid Manager API。请联系dbm-support@google.com。       错误 - #

     

Google :: Apis :: ClientError:unauthorizedApiAccess:您无权使用DoubleClick Bid Manager API。请联系dbm-support@google.com。   当我在https://developers.google.com/apis-explorer运行api时,它也返回"You are not authorized to use DoubleClick Bid Manager API. Please contact dbm-support@google.com."   有人知道这个错误,请检查并帮助我

1 个答案:

答案 0 :(得分:0)

当您的应用程序请求私人数据时,该请求必须由有权访问该数据的经过身份验证的用户授权。您的应用发送到Google DoubleClick Bid Manager API的每个请求都必须包含授权令牌。该令牌还可识别您的Google应用程序。

这就是错误的意思

  

"您无权使用DoubleClick Bid Manager API。

请求在请求用户身份验证时包含以下范围。

  

https://www.googleapis.com/auth/doubleclickbidmanager

可以找到更多信息here,此处有关于如何使用ruby的文档,您需要更改api的示例,因为这是针对日历的。

关于服务帐户的说明。

必须预先授权服务帐户才能运作。对于Google云端硬盘,您可以使用服务帐户电子邮件地址并在其上共享Google云端硬盘上的文件夹。基本上,您与服务帐户共享数据,授予其访问数据的权限。并非所有google apis都支持服务帐户身份验证。 Youtube api,Doubleclick和博客我认为addsence或adWords也是一些不支持服务帐户身份验证的,因为如果用户没有响应共享请求就无法与用户共享数据。