此客戶端程式庫簡化了對 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