回归分析:OAuth无效范围(Google Hangouts - Hangups图书馆)

8

目前无法使用截止到8月底仍可用的OAuth URI获取访问令牌,这会影响多个客户端。

这是第三方客户端的普遍问题:

因此,目前无法使用hangups来使用Google Hangouts Chat Bot(第三方应用程序)。它现在会出现以下错误:

400. That’s an error.<br/>Error: invalid_scope<br/>Not authorized to request the scopes:[https://www.google.com/accounts/OAuthLogin]<br/>Request Details<br/>scope=https://www.google.com/accounts/OAuthLogin<br/>    response_type=code<br/>redirect_uri=urn:ietf:wg:oauth:2.0:oob<br/> client_id=936475272427.apps.googleusercontent.com<br/>That’s all we know.

以下是使用Python创建访问Google OAuth的URI的方法:

OAUTH2_SCOPE = 'https://www.google.com/accounts/OAuthLogin'
OAUTH2_CLIENT_ID = 'some_client_id'
OAUTH2_CLIENT_SECRET = 'some_client_screet'
OAUTH2_LOGIN_URL = 'https://accounts.google.com/o/oauth2/auth?{}'.format(
    urllib.parse.urlencode(dict(
        client_id=OAUTH2_CLIENT_ID,
        scope=OAUTH2_SCOPE,
        redirect_uri='urn:ietf:wg:oauth:2.0:oob',
        response_type='code',
    ))
)
OAUTH2_TOKEN_REQUEST_URL = 'https://accounts.google.com/o/oauth2/token'

谷歌已经进行了一些OAuth更改,这导致hangups无法完成初始登录:在此处查看问题在此处查看
现有的机器人也将在其令牌过期后停止工作。查找本文
那么,我们如何访问授权码以访问Hangouts?
1个回答

2
使用下面的网址:

https://accounts.google.com/o/oauth2/programmatic_auth?hl=en&scope=https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthLogin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&client_id=936475272427.apps.googleusercontent.com&access_type=offline&delegated_client_id=183697946088-m3jnlsqshjhh5lbvg05k46q1k4qqtrgn.apps.googleusercontent.com&top_level_cookie=1

您可以访问一个 programmatic_auth 的 URL,该 URL 将 OAuth 代码设置为包含 OAuth 代码的 cookie。
操作步骤如下:
1. 访问上述 URL。
2. 输入您的用户名,然后单击“下一步”。
3. 右键点击页面背景,选择“检查”。
4. 转到网络选项卡。
5. 输入您的密码,然后单击“登录”。
6. 单击第一行,即“programmatic_auth”行。
7. 在右侧面板中向下滚动,找到“set-cookie”。
8. 您的代码应该在“oauth_code=”之后,但不包括分号。
9. 复制它并使用它。

2
FYI,将近四年后,这个答案仍然有效;在尝试了许多其他行不通的方法之后,我终于成功地使用了它。 - Justin Schell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接