gpt4 book ai didi

python - 使用服务帐户的 Doubleclickbid 管理器 API

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:52 25 4
gpt4 key购买 nike

我正在尝试访问 dbm api,我正在使用服务帐户对 url 进行身份验证,请在下面找到示例代码

from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build
from httplib2 import Http

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


credentials = ServiceAccountCredentials.from_json_keyfile_name(
'path/to/key/.jsonfile', scopes=scopes)

http_auth = credentials.authorize(Http())
body={}

dbm = build('doubleclickbidmanager', 'v1', http=http_auth)
print dbm
request = dbm.lineitems().downloadlineitems(body=body).execute()

print request

如果我使用 oauth 机制来验证代码是否正常运行的 url,因为我不想要用户交互,我需要服务器到服务器机制,所以我使用了服务帐户

我尝试过的步骤:

我已经创建了服务帐户并下载了 json key 文件并在代码中使用,但是当我尝试运行我的代码时它会抛出以下错误:

googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/doubleclickbidmanager/v1/lineitems/downloadlineitems?alt=json returned "You are not authorized to use DoubleClick Bid Manager API. Please contact dbm-support@google.com.">

请帮助,在此先感谢。

最佳答案

正如其他人在这里所说的,您想登录到 DBM 站点并将您的服务帐户添加为用户:

Add new user interface

然后,per this documentation ,您可以使用客户端 secret json 文件设置服务帐户凭据。如果您希望该服务帐户能够访问您在 DBM 中使用您的用户帐户(您登录时使用的帐户)创建的报告,您需要委派全域权限:

delegated_credentials = credentials.create_delegated('user@example.org')
http_auth = delegated_credentials.authorize(Http())
dbm = build('doubleclickbidmanager', 'v1', http=http_auth)
queries = dbm.queries().listqueries().execute()['queries']

关于python - 使用服务帐户的 Doubleclickbid 管理器 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com