缺少必需参数:grant_type ngCordova / angular

时间:2015-04-18 13:47:22

标签: angularjs cordova oauth-2.0 google-oauth2 ngcordova

我正在使用Google oAuth和ngCordova。虽然我能够检索access_token,但后续调用get refresh_token失败了。这是我的要求。 enter image description here

我确保了

  1. 已设置内容类型。
  2. 数据作为表单数据发布,而不是作为查询字符串在url中发布。
  3. 这是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(...);
    

    请有人告诉我我做错了什么。

1 个答案:

答案 0 :(得分:0)

我的错,问题在于我选择的身份验证方法。我使用ngCordova调用google身份验证流程,将response_type设置为token。就我而言,由于我希望在用户授权应用后创建refresh token,因此response_type应该设置为code

我修改了代码并且工作正常。