我使用Google DFP API来收集点击我们网站上的广告的一些统计数据。代码是用Python编写的。目前,我想升级的代码使用OAuth 2
因为,代码每天自动运行,无需任何用户参与,我在我的谷歌项目创建一个
服务帐户和添加的帐户使用DoubleClick for
出版商我们公司的网络。基于WEB的样本代码,我写了这个:在Python中使用服务帐户创建DfpClient
import httplib2
from oauth2client.client import SignedJwtAssertionCredentials
from apiclient.discovery import build
from googleads.dfp import DfpClient
GOOGLE_DFP_SCOPE="https://www.googleapis.com/auth/dfp"
API_VERSION="v201411"
KEY_FILE="*******.p12"
ACCT_EMAIL="************************@developer.gserviceaccount.com"
NETWORK_CODE="**********"
with open(KEY_FILE) as config_file:
my_private_key = config_file.read()
credentials = SignedJwtAssertionCredentials(service_account_name=ACCT_EMAIL, private_key=my_private_key,scope=GOOGLE_DFP_SCOPE)
http = httplib2.Http()
http_auth = credentials.authorize(http)
dfp_client = build(serviceName='dfp',version=API_VERSION,http=http_auth)
此代码似乎并不正确,因为network_code未获通过 在代码的任何地方。另外,它失败并显示以下消息:
apiclient.errors.UnknownApiNameOrVersion:name:dfp version:v201411。
此外,线下:
dfp_client = DfpClient.LoadFromStorage()
不适合我的情况下工作,因为,这是基于googleads.yaml这似乎 只为web应用程序账户的客户端秘密进行格式化,不是P12私钥。
有什么建议吗?谢谢。