缺少必需的参数:grant_type ngCordova/angular
Required parameter is missing: grant_type ngCordova/angular
我正在使用 Google oAuth 和 ngCordova。虽然我能够检索 access_token,但随后调用 get refresh_token 失败。这是我的请求。
我已确保
- 内容类型已设置。
- 数据作为表单数据发布,而不是在 url 中作为查询字符串发布。
这是Javascript代码
var clientSecret = encodeURI(result["access_token"]);
var req = {
method: "POST",
url:"https://accounts.google.com/o/oauth2/token",
headers:{
"Content-Type":"application/x-www-form-urlencoded"
},
data : {"code":clientSecret,"client_id":"XXXXX","client_secret":"XXX",
"redirect_uri":"","grant_type":"authorization_code",scope:""}
};
$http(req).success(...).error(...);
请有人告诉我我做错了什么。
糟糕,问题出在我选择的身份验证方法上。我正在使用 ngCordova 调用 google 身份验证流程,它将 response_type
设置为 token
。就我而言,由于我希望在用户授权应用程序后创建 refresh token
,因此 response_type
应该设置为 code
。
我修改了代码,它成功了。
我正在使用 Google oAuth 和 ngCordova。虽然我能够检索 access_token,但随后调用 get refresh_token 失败。这是我的请求。
我已确保
- 内容类型已设置。
- 数据作为表单数据发布,而不是在 url 中作为查询字符串发布。
这是Javascript代码
var clientSecret = encodeURI(result["access_token"]);
var req = {
method: "POST",
url:"https://accounts.google.com/o/oauth2/token",
headers:{
"Content-Type":"application/x-www-form-urlencoded"
},
data : {"code":clientSecret,"client_id":"XXXXX","client_secret":"XXX",
"redirect_uri":"","grant_type":"authorization_code",scope:""}
};
$http(req).success(...).error(...);
请有人告诉我我做错了什么。
糟糕,问题出在我选择的身份验证方法上。我正在使用 ngCordova 调用 google 身份验证流程,它将 response_type
设置为 token
。就我而言,由于我希望在用户授权应用程序后创建 refresh token
,因此 response_type
应该设置为 code
。
我修改了代码,它成功了。