Google OAuth 错误缺少必需参数:grant_type
Google OAuth error Required parameter is missing: grant_type
我正在尝试这段代码:
import requests
url_token = 'https://accounts.google.com/o/oauth2/token'
params = {
'code': request.values.get('code', '', type=str),
'client_id': app.config['SOCIAL_GOOGLE']['consumer_key'],
'client_secret': app.config['SOCIAL_GOOGLE']['consumer_secret'],
'redirect_uri': urllib.quote_plus("https://example.com/google/code"),
'grant_type': 'authorization_code'
}
out = requests.post(url_token, params=params)
在 Flask 中使用 Python-Request。但我收到错误响应:
ERROR - out={
"error" : "invalid_request",
"error_description" : "Required parameter is missing: grant_type"
}
这是标准的 POST 请求。为什么 Google 看不到 grant_type 参数的任何提示?还是误导性的错误信息?
params
用于在 GET 请求中向 URL 添加查询参数,data
用于将数据传递给 POST 请求,因此您应该传递表单 POST参数为:
out = requests.post(url_token, data=params)
查看文档:http://docs.python-requests.org/en/latest/user/quickstart/#more-complicated-post-requests
我正在尝试这段代码:
import requests
url_token = 'https://accounts.google.com/o/oauth2/token'
params = {
'code': request.values.get('code', '', type=str),
'client_id': app.config['SOCIAL_GOOGLE']['consumer_key'],
'client_secret': app.config['SOCIAL_GOOGLE']['consumer_secret'],
'redirect_uri': urllib.quote_plus("https://example.com/google/code"),
'grant_type': 'authorization_code'
}
out = requests.post(url_token, params=params)
在 Flask 中使用 Python-Request。但我收到错误响应:
ERROR - out={
"error" : "invalid_request",
"error_description" : "Required parameter is missing: grant_type"
}
这是标准的 POST 请求。为什么 Google 看不到 grant_type 参数的任何提示?还是误导性的错误信息?
params
用于在 GET 请求中向 URL 添加查询参数,data
用于将数据传递给 POST 请求,因此您应该传递表单 POST参数为:
out = requests.post(url_token, data=params)
查看文档:http://docs.python-requests.org/en/latest/user/quickstart/#more-complicated-post-requests