我使用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私鑰。
有什麼建議嗎?謝謝。