我正在使用Flask-OAuth将Google的登录信息与Flask网站集成。
一切都很好。我可以毫无困难地授权登录并获得令牌等。但是,当我使用Flask-OAuth的get
方法请求登录用户的电子邮件地址时,我收到错误消息:
TypeError: Unicode-objects must be encoded before hashing
我正在使用Python3,这有一个Python版本问题的味道,但我无法弄清楚我需要改变什么。
我正在使用的代码是:
def get_additional_data(self):
access_token = session.get('oauth_token')
headers = {'Authorization': 'OAuth ' + access_token[0]}
return self.service.get(
'https://www.googleapis.com/oauth2/v1/userinfo', None,
headers=headers)
我不确定我可以在该请求中编码什么。即使我没有传递标题,我也会得到相同的错误(而不是无效的请求或类似的东西)。
我在oauth2/__init__.py
上运行了2to3,并且建议的调整非常小,不应该阻止代码在Python 3中运行。此外,OAuth2相关的所有其他内容都在工作。