我已经根据这里的手册设置了整个Google Ads API:https://developers.google.com/google-ads/api/docs/client-libs/python/oauth-desktop?hl=en
我得到了我的刷新令牌,并将其放入google-ads.yaml文件中,该文件看起来就像这样:https://github.com/googleads/google-ads-python/blob/master/google-ads.yaml。我还将我的client_id、developer_token和client_secret放在文件中相应的位置。
一切都解决了,例如,我可以要求所有的活动:https://developers.google.com/google-ads/api/docs/samples/get-campaigns#python。我也可以使用API的其他服务。
每次我使用API时,我都会使用以下代码通过客户端访问它:
from google.ads.google_ads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage(path_to_google_ads_yaml_file)正如我已经说过的,它是有效的。
几天后,我再次尝试连接,得到以下错误:
“error”: “invalid_grant”, “error_description”: “Token has been expired or revoked.”因此,我再次执行了获取新的刷新令牌(https://developers.google.com/google-ads/api/docs/client-libs/python/oauth-desktop?hl=en)的过程,以便一切都能再次正常工作。
一天后,我又收到了同样的错误。所以我的问题是:刷新令牌的用途是什么?我认为它允许我访问API,而不需要请求新的令牌或刷新令牌!?
现在,我再次尝试连接到API (尽管上次没有工作),现在我得到了一个更糟糕的新错误:
'invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}'所以事情变得更复杂了.
发布于 2021-03-04 23:27:59
正如@fatima Ajij指出的那样,整个问题/问题在于设置:看看他的回答:Token has expired or revoked - Google Ads非常感谢,fatima Ajij!
https://stackoverflow.com/questions/66138931
复制相似问题