Google Drive api无效的客户端

时间:2016-09-15 14:22:35

标签: angularjs http google-drive-api google-oauth google-oauth2

我正在尝试访问用户的google驱动器内容。 我可以使用带有正确参数的google云端硬盘用户同意网址在我的域名上兑换代码: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&client_id=' + $ scope.googledriveApi.client_id +'&安培;范围=' + $ scope.googledriveApi.scopes +'&安培; REDIRECT_URI =&#39 + $ scope.googledriveApi.redirect_uri

我正在尝试向https://www.googleapis.com/oauth2/v4/token端点执行角度$ http请求。 请求如下所示:

$http({
     method: 'POST',
     headers: {"Content-Type" : "application/x-www-form-urlencoded"},
     data: $.param({
        "code" : $routeParams.code,
        "client_id" : $scope.googledriveApi.client_id,
        "client_secret" : $scope.googledriveApi.secret,
        "redirect_uri" : $scope.googledriveApi.redirect_uri,
        "grant_type" : "authorization_code"
     }),
     url: 'https://www.googleapis.com/oauth2/v4/token'
})

然而,我从请求中得到的回复如下:

{
 "error": "invalid_client",
 "error_description": "The OAuth client was not found."
}

有谁知道为什么会这样?我已经尝试将产品名称和客户端ID名称更改为相同。我已经检查了这个空格。我之所以提到这个原因,是因为对于那些为同一个错误提出问题的人来说似乎就是这种情况,但是我的错误发生在$ http请求中。

我正在取回用户同意代码,我正在尝试在此请求中交换访问令牌。这是错误进来的时候,我被卡住了。

1 个答案:

答案 0 :(得分:0)

试试这些:

  1. 在OAuth许可屏幕下,确保产品名称与此SO thread中所述的项目名称不同:
  2. enter image description here

    1. 尝试在URI请求中包含授权标头:

      标题:{'授权':'持票人' + accessToken}