我使用 google DFP api 来收集关于我们网站上点击的广告的一些统计信息。
代码是用 Python 编写的。目前,我正在尝试升级代码以使用 oAuth 2。
由于代码每天自动运行,无需任何用户参与,因此我
在我的 google 项目下创建了一个服务帐户,并将该帐户添加到
我们公司的 DFP 广告管理系统网络。根据网上的示例代码,我写了这个:
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:名称:dfp 版本:v201411。
此外,下面的行:
dfp_client = DfpClient.LoadFromStorage()
不适用于我的情况,因为这是基于 googleads.yaml 的,它似乎仅针对具有客户端密码而不是 P12 私钥的 Web 应用程序帐户进行格式化。
有什么建议吗?谢谢。