回归:OAuth无效范围(Google Hangouts - Hangups Library)

时间:2016-09-04 07:32:11

标签: python-3.x oauth-2.0 google-oauth google-hangouts hangouts-api

无法获得具有OAuth URI的访问令牌,该URI在8月底之前有效,并且由各种客户使用。

截至目前,这是与第三方客户的一般性问题:

因此,目前,无法使用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'

Google已经进行了一些OAuth更改,这些更改扼杀了挂断首次登录的方式:see issue herehere

现有机器人也会在其令牌过期find this article后停止工作。

那么,我们如何访问授权码以访问环聊?

1 个答案:

答案 0 :(得分:0)

使用下面的网址

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网址,该网址将oauth代码设置为包含oAuth代码的Cookie。

怎么办:
    1.转到上面的网址
    2.输入您的用户名,然后单击下一步
    3.右键单击页面背景,检查
    4.转到网络选项卡。
    5.输入您的密码,然后单击登录     6.单击第一行,即“programmatic_auth”的行     7.在右侧面板中向下滚动,找到“set-cookie”
    8.在“oauth_code =”之后,您的代码应该在那里,但不包括分号。
    9.复制并使用它。