【问题标题】:Doubleclick bid manager api authorizationDoubleclick bid manager api 授权
【发布时间】:2015-05-21 09:54:23
【问题描述】:

我在使用 DoubleClick Bid Manager API 进行身份验证时遇到问题 我已按照 Google 的说明设置了一个服务帐户,并且正在使用 Google APIs PHP 客户端库。按照文档,我的代码如下所示:

require_once 'Google/autoload.php';

$client_email = 'myemail.com';

$private_key = file_get_contents('myfilename.p12');

$scopes = ['https://www.googleapis.com/auth/doubleclickbidmanager'];

$credentials = new Google_Auth_AssertionCredentials(
    $client_email,
    $scopes,
    $private_key,
);




$client = new Google_Client();

$client->setAssertionCredentials($credentials);

if ($client->getAuth()->isAccessTokenExpired()) {
    $client->getAuth()->refreshTokenWithAssertion();
}

$service =  new Google_Service_DoubleClickBidManager($client);
$response = $service->queries->listqueries();

最后一行引发错误:

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

我已经给他们发了电子邮件,但我不确定那里是否有人为技术问题提供支持。我已经重新阅读了文档,我看不出我哪里出错了。如果有人以前经历过这个或有任何指点,他们将不胜感激!!!

非常感谢

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

【问题讨论】:

  • 要么您的私人凭据不正确,否则您的帐户不允许进行该查询。代码可能没有错。

标签: php authorization double-click-advertising


【解决方案1】:

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

【讨论】:

  • 这不是真的。我正在使用 service accountDoubleClick Bid Manager 并且我得到了成功的响应。
  • 自从 4 年前回答这个问题以来,情况发生了变化。
【解决方案2】:

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

这就是我使用 ruby​​ 的 google api 客户端库的方法:

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 机密文件中的电子邮件帐户必须添加为在DV360 上具有read/write 角色的用户

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 2012-12-22
    • 1970-01-01
    相关资源
    最近更新 更多