如何不使用OAuth2访问Google API(特别是Adwords)

0 投票
3 回答
591 浏览
提问于 2025-04-18 07:32

我需要连接到谷歌广告API。

我不需要验证第三方用户。

我只是我自己系统的唯一用户。

我的系统里只有一个程序,只为我自己服务。

之前,我只需要提供一些ID、密码和客户端版本就可以了。

现在我需要提供OAUTH、刷新令牌、其他令牌、用户代理等等。

有没有办法不使用OAuth?

不使用OAUTH的原因有:

  1. 我不需要验证任何第三方。
  2. 我不知道在这个上下文中“用户代理”是什么。
  3. 我无法获取刷新令牌:
    1. 我正在运行“generate_refresh_token.py”。
    2. 它让我在这里获取一个令牌(我用的是我的真实客户端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
    3. 那个网址跳转到一个400错误页面:“错误:redirect_uri不匹配”。
    4. 但它应该匹配哪个URI呢?

编辑 2:

刷新令牌需要特定的设置“已安装的应用程序”。哎呀。并且需要重新编码到“generate_refresh_token.py”里 :P

我还是不明白“用户代理”是什么。

3 个回答

1

我觉得“用户代理”这个字段是可选的,就像下面的链接提到的那样。我在使用这些API的时候,没有更改“用户代理”字段。

如何为AdWords API脚本生成USER_AGENT
1

你不需要在七月底之前强制迁移到OAuth2 (这是谷歌的详细说明)

我很理解,学习OAuth2是使用Adwords API时最困难和最让人沮丧的部分之一,网上大多数资源都是一些无聊的小时长视频,里面用的比喻奇怪,而且讲得太快,根本跟不上。

在我见过的所有网页环境中,用户代理(user-agent)指的就是我用来发送HTTP请求的工具。当我在我的Python代码中设置用户代理时,我只是把它设置为"Adwords Test"。而当我在浏览器中点击你提供的链接时,我的浏览器会自动设置成它自己使用的用户代理字符串。

让我真正理解发生了什么的是谷歌的OAuth2游乐场

0

刷新令牌需要一些特定的设置,叫做“已安装的应用程序”,而不是其他那些让我困惑的东西。

而且它需要重新写进“generate_refresh_token.py”这个文件里。

在我的情况下,“用户代理”并不重要。

撰写回答