此客戶端程式庫簡化了對 Google Ad Manager SOAP API 的存取。該庫提供了儲存身份驗證和建立 SOAP Web 服務用戶端的簡單方法。它還包含範例程式碼,可協助您開始與我們的 API 整合。
下載並安裝庫
setuptools 是安裝 googleads 函式庫的先決條件
建議您使用 pip 從 PyPI 安裝該程式庫及其相依性。這可以透過一個命令來完成:
$ pip install googleads
作為替代方案,您可以將庫下載為 tarball。要開始安裝,請導航至包含下載的解壓縮客戶端庫的目錄並執行“setup.py”腳本,如下所示:
$ python setup.py build install
將 googleads.yaml 檔案複製到您的主目錄。
這將用於儲存可載入以初始化客戶端的憑證和其他設定。
設定您的 OAuth2 憑證
Ad Manager API 使用 OAuth2 作為驗證
機制。根據您的使用案例,請遵循以下適當的指南。
如果您使用自己的憑證存取 API...
如果您代表客戶存取 API...
開發網頁應用程式(廣告管理器)
使用廣告管理系統
您可以在發布頁面上找到最新版本 Ad Manager 的程式碼範例。
或者,您可以在此儲存庫的範例目錄中找到 Ad Manager 範例。
可以快取您的 API 驗證資訊。該庫包含一個名為googleads.yaml
的範例文件,展示如何執行此操作。填寫您計劃使用的 API 和功能的欄位。該程式庫的LoadFromStorage
方法預設在您的主目錄中尋找具有此名稱的文件,但您可以傳入具有正確 yaml 內容的任何文件的路徑。
# 使用預設位置 - 您的主目錄:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage()# 或者,傳入檔案的位置:ad_manager_client = ad_manager.AdManagerClient.LoadFromStorage('C:MyDirectorygoogleads.yaml')
如果您遇到與客戶端庫直接相關的問題,請使用問題追蹤器。
如果您有與特定 API 相關的問題,請使用產品支援論壇:
廣告管理器
本庫使用 Python 的內建日誌框架。您可以透過設定檔指定您的配置;有關範例,請參閱 googleads.yaml。
或者,您可以手動指定日誌記錄配置。例如,如果您想要將 SOAP 互動記錄到 stdout,並且您正在使用 Zeep Soap 庫,則可以執行以下操作:
logging.basicConfig(level=logging.INFO, format=googleads.util.LOGGER_FORMAT)logging.getLogger('googleads.soap').setLevel(logging.DEBUG)
如果您希望記錄到文件,則需要將日誌處理程序附加到該來源,該來源配置為將輸出寫入文件。
用於日誌記錄的 zeep 插件會從其輸出中刪除敏感資料。如果您希望將此資料包含在日誌中,則需要實作自己的簡單日誌記錄外掛程式。例如:
類別DangerousZeepLogger(zeep.Plugin): def ingress(self, 信封, http_headers, 操作):logging.debug('傳入回應: n%s', etree.tostring(envelope, Pretty_print=True))return 信封, http_headers def egress(self,信封,http_headers,操作,綁定選項):logging.debug('傳入回應:n%s',etree.tostring(envelope,pretty_print = True))返回信封,http_headersad_manager_client.zeep_client.plugins. append(DangerousZeepLogger) ())
預設情況下,客戶端會被緩存,因為讀取和消化 WSDL 的成本可能很高。但是,預設快取方法需要存取本機檔案系統的權限,而該權限在某些託管環境(例如 App Engine)中可能無法使用。
您可以將zeep.cache.Base
的實作傳遞給AdManagerClient
初始值設定項目以修改預設快取行為。
例如,使用zeep配置快取檔案的不同位置和持續時間
doc_cache = zeep.cache.SqliteCache(path=cache_path)ad_manager_client = ad_manager.AdManagerClient( oauth2_client、application_name、network_code=network_code、cache=doc_cache)
您也可以使用 zeep 以類似的方式停用緩存
ad_manager_client = ad_manager.AdManagerClient( oauth2_client、application_name、network_code=network_code、cache=googleads.common.ZeepServiceProxy.NO_CACHE)
該程式庫僅支援 Python 3.7+。
- httplib2 -- https://pypi.python.org/pypi/httplib2/ - oauth2client -- https://pypi.python.org/pypi/oauth2client/ - pysocks -- https://pypi.python.org/pypi/PySocks/ - pytz -- https://pypi.python.org/pypi/pytz - pyYAML -- https://pypi.python.org/pypi/pyYAML/ - xmltodict -- https://pypi.python.org/pypi/xmltodict/ - zeep -- https://pypi.python.org/pypi/zeep - mock -- https://pypi.python.org/pypi/mock (only needed to run unit tests) - pyfakefs -- https://pypi.python.org/pypi/pyfakefs (only needed to run unit tests)
Mark Saniscalchi David Wihl Ben Karl