我有一个使用urllib2的现有Http POST:
data = 'client_id=%s&client_secret=%s&grant_type=authorization_code&code=%s&redirect_uri=%s' % (settings.GOOGLE_CLIENT_ID, settings.GOOGLE_CLIENT_SECRET, code, redirect_uri)
req = urllib2.Request(access_token_url, data=data)
response = urllib2.urlopen(req)
response_content = response.read()
json_response = json.loads(response_content)
我正在尝试将其转换为Requests库(http://docs.python-requests.org/),但我收到400无效请求。
这是我的尝试:
params = {'redirect_uri' : redirect_uri}
params['client_id'] = settings.GOOGLE_CLIENT_ID
params['client_secret'] = settings.GOOGLE_CLIENT_SECRET
params['grant_type'] = 'authorization_code'
params['code'] = code
req = requests.post(access_token_url, data=params)
json_response = req.json()
我尝试将其调整为使用params而不是数据,但我得到了相同的错误。
我缺少什么?
答案 0 :(得分:0)
确保数据字典的值尚未转义,因为requests
会为您执行此操作。请注意您的原始示例如何不进行任何转义。