如何不使用OAuth2访问Google API(特别是Adwords)
我需要连接到谷歌广告API。
我不需要验证第三方用户。
我只是我自己系统的唯一用户。
我的系统里只有一个程序,只为我自己服务。
之前,我只需要提供一些ID、密码和客户端版本就可以了。
现在我需要提供OAUTH、刷新令牌、其他令牌、用户代理等等。
有没有办法不使用OAuth?
不使用OAUTH的原因有:
- 我不需要验证任何第三方。
- 我不知道在这个上下文中“用户代理”是什么。
- 我无法获取刷新令牌:
- 我正在运行“generate_refresh_token.py”。
- 它让我在这里获取一个令牌(我用的是我的真实客户端ID,不是xxxx): https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=xxxxxxxxxxxx.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fadwords.google.com%2Fapi%2Fadwords
- 那个网址跳转到一个400错误页面:“错误:redirect_uri不匹配”。
- 但它应该匹配哪个URI呢?
编辑 2:
刷新令牌需要特定的设置“已安装的应用程序”。哎呀。并且需要重新编码到“generate_refresh_token.py”里 :P
我还是不明白“用户代理”是什么。
3 个回答
1
我觉得“用户代理”这个字段是可选的,就像下面的链接提到的那样。我在使用这些API的时候,没有更改“用户代理”字段。
如何为AdWords API脚本生成USER_AGENT1
你不需要在七月底之前强制迁移到OAuth2 (这是谷歌的详细说明)
我很理解,学习OAuth2是使用Adwords API时最困难和最让人沮丧的部分之一,网上大多数资源都是一些无聊的小时长视频,里面用的比喻奇怪,而且讲得太快,根本跟不上。
在我见过的所有网页环境中,用户代理(user-agent)指的就是我用来发送HTTP请求的工具。当我在我的Python代码中设置用户代理时,我只是把它设置为"Adwords Test"
。而当我在浏览器中点击你提供的链接时,我的浏览器会自动设置成它自己使用的用户代理字符串。
让我真正理解发生了什么的是谷歌的OAuth2游乐场。
0
刷新令牌需要一些特定的设置,叫做“已安装的应用程序”,而不是其他那些让我困惑的东西。
而且它需要重新写进“generate_refresh_token.py”这个文件里。
在我的情况下,“用户代理”并不重要。