【问题标题】:Set a secure https connection for Oauth2 on python在 python 上为 Oauth2 设置安全的 https 连接
【发布时间】:2018-12-15 00:12:10
【问题描述】:

我正在尝试使用 google people API 来自动在我们的工作电话上创建一些联系人。但是对于使用人员 API,我需要使用 OAuth 2,并且我正在使用以下代码。我转到授权 URL,获取授权响应,但是当我运行令牌行时出现错误:

InsecureTransportError: (insecure_transport) OAuth 2 MUST utilize https.

代码如下:

import json
with open(r'C:\Users\Pedro\Desktop\client_id.json') as abb:
    ab = json.load(abb)



client_id = ab['installed']['client_id']
redirect_uri = ab['installed']['redirect_uris'][0]
client_secret = ab['installed']['client_secret']

from requests_oauthlib import OAuth2Session


scope = ['https://www.googleapis.com/auth/contacts']
oauth = OAuth2Session(client_id, redirect_uri=redirect_uri,
                          scope=scope)
authorization_url, state = oauth.authorization_url(
        'https://accounts.google.com/o/oauth2/auth',
        # access_type and prompt are Google specific extra
        # parameters.
        access_type="offline", prompt="select_account")

#authorization_response = input('Enter the full callback URL')
authorization_response = r'RESPONSE'


token = oauth.fetch_token(
        'https://accounts.google.com/o/oauth2/token',
        authorization_response=authorization_response,
        # Google specific extra parameter used for client
        # authentication
        client_secret=client_secret,
        )

我想我只需要设置一个https服务器吗?但我试图找到 OAuth2 服务器的示例,我得到的只是人们告诉我禁用测试要求。我不想测试,我想运行 OAuth,这样我就可以在人员 API 上调用请求。

【问题讨论】:

    标签: python python-3.x https oauth-2.0 python-requests


    【解决方案1】:

    尝试在终端中射击export OAUTHLIB_INSECURE_TRANSPORT=1。它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 2013-02-28
      • 2017-05-23
      • 2017-09-11
      • 2017-07-01
      相关资源
      最近更新 更多