首页 > 解决方案 > 如何使用 zeep 在 App Engine 上禁用对 Adwords API 的缓存?

问题描述

我正在尝试使用 zeep 禁用缓存,如下所述: https ://github.com/googleads/googleads-python-lib/blob/master/README.md#how-can-i-configure-or-disable-caching

adwords_client = adwords.AdWordsClient(
  developer_token, oauth2_client, user_agent,
  client_customer_id=client_customer_id,
  cache=googleads.common.ZeepServiceProxy.NO_CACHE)

但我不了解我应该提供什么 AdWordsClient 作为“oauth2_client”属性。

我试图在这里找到解决方案http://googleads.github.io/googleads-python-lib/googleads.oauth2.GoogleOAuth2Client-class.html但到目前为止没有成功。

我正在使用 For OAuth2 进程google_auth_oauthlib并管理检索的刷新令牌,但此时我有点迷失了,因为由于我在 GCP App Engine 上运行它,我无法使用 googleads.yaml 文件。

有人可以在这个 oauth2_client 的情况下启发我吗?

衷心感谢!

标签: pythongoogle-cloud-platformgoogle-ads-api

解决方案


有点晚了,但我找到了解决方案,并想与任何可能遇到这个问题的人分享。

这是我找到解决方案的地方

您可以执行 LoadFromStorage 然后禁用 zeep 缓存:

from googleads import ad_manager, common
client = ad_manager.AdManagerClient.LoadFromStorage()
client.cache = common.ZeepServiceProxy.NO_CACHE

我花了几个小时尝试使用凭据加载,但无法正常工作。这允许我从 EC2 实例运行模块。


推荐阅读