Doubleclick bid manager api授权

时间:2015-05-21 09:54:23

标签: php authorization double-click-advertising

我无法使用DoubleClick Bid Manager API对自己进行身份验证 我已按照Google的说明设置了服务帐户,并使用了Google API PHP客户端库。在文档之后,我的代码如下所示:

<div class="error" ng-show="myForm.fName.$dirty && myForm.fName.$invalid">
  <div class="error" ng-show="myForm.fName.$error.required" popover-placement="bottom" popover-animation="true" popover="Field is required" popover-trigger="focus"></div>
</div>

最后一行引发错误:

致命错误:未捕获的异常“Google_Service_Exception”,并显示错误“调用GET https://www.googleapis.com/doubleclickbidmanager/v1/queries时出错:(403)您无权使用DoubleClick Bid Manager API。请联系bidmanager-support@google.com。

我已通过电子邮件发送给他们,但我不确定是否有任何人提供技术问题的支持。我重读了文档,我看不出哪里出错了。如果有人之前已经通过这个或有任何指示,他们将非常感谢!!!

非常感谢

PS我本周早些时候设置了API访问权限。我再次按照文档中的说明操作,收到了Google关于设置的最后一封确认电子邮件,所以在这方面一切都应该很好

2 个答案:

答案 0 :(得分:1)

DoubleClick Bid Manager不支持服务帐户。他们使用DBM中的用户权限来定义API请求的权限,因此需要基于用户的身份验证。

答案 1 :(得分:0)

您可能需要将服务帐户的用户电子邮件添加到具有DV 360角色的read/write

这是我使用Google api客户端库中用于ruby的方法:

1-首先创建一个GOOGLE_APPLICATION_CREDENTIALS环境变量:

$ export GOOGLE_APPLICATION_CREDENTIALS='[Path to your client_secrets.json]

2-设置服务变量以连接到api并为其分配权限:

scopes = 'https://www.googleapis.com/auth/doubleclickbidmanager'
authorization = Google::Auth.get_application_default(scopes)
service = Google::Apis::DoubleclickbidmanagerV1::DoubleClickBidManagerService.new
service.authorization = authorization
service.authorization.fetch_access_token!

# This line would return results from the api
service.download_line_items

请注意,.json机密文件中的电子邮件帐户必须以具有read/write角色且在DV360上的用户身份添加