我写了一些代码来连接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."
有人知道这个错误,请检查并帮助我
答案 0 :(得分:0)
当您的应用程序请求私人数据时,该请求必须由有权访问该数据的经过身份验证的用户授权。您的应用发送到Google DoubleClick Bid Manager API的每个请求都必须包含授权令牌。该令牌还可识别您的Google应用程序。
这就是错误的意思
"您无权使用DoubleClick Bid Manager API。
请求在请求用户身份验证时包含以下范围。
可以找到更多信息here,此处有关于如何使用ruby的文档,您需要更改api的示例,因为这是针对日历的。
关于服务帐户的说明。
必须预先授权服务帐户才能运作。对于Google云端硬盘,您可以使用服务帐户电子邮件地址并在其上共享Google云端硬盘上的文件夹。基本上,您与服务帐户共享数据,授予其访问数据的权限。并非所有google apis都支持服务帐户身份验证。 Youtube api,Doubleclick和博客我认为addsence或adWords也是一些不支持服务帐户身份验证的,因为如果用户没有响应共享请求就无法与用户共享数据。