OAuth 2.0游乐场:unauthorized_client

时间:2017-07-16 15:46:18

标签: oauth google-api api-manager oauth2-playground

我已多次尝试过,但我无法将Google PlayGround工具与Google People API v1一起使用。

Request / Response
POST /oauth2/v4/token HTTP/1.1
Host: www.googleapis.com
Content-length: 278
content-type: application/x-www-form-urlencoded
user-agent: google-oauth-playground
code=4%2FhQlhA-MiWKhcmHWVUddb8TmiaVEDdMd_3lDHid9eYBc&redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&client_id=111243977462-pc15rhq33ojuc7i54ce3qd8upj6mtnc3.apps.googleusercontent.com&client_secret=ozWubBNz1iKdykitcK757UOo&scope=&grant_type=authorization_code
HTTP/1.1 401 Unauthorized
Content-length: 74
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
Transfer-encoding: chunked
Expires: Sun, 16 Jul 2017 14:54:42 GMT
Vary: Origin, X-Origin
Server: GSE
-content-encoding: gzip
Cache-control: private, max-age=0
Date: Sun, 16 Jul 2017 14:54:42 GMT
X-frame-options: SAMEORIGIN
Alt-svc: quic=":443"; ma=2592000; v="39,38,37,36,35"
Content-type: application/json; charset=UTF-8
Www-authenticate: Bearer realm="https://accounts.google.com/"
{
  "error_description": "Unauthorized", 
  "error": "unauthorized_client"
}

我已经按照以下提示:

1. Delete the whitespace in the 'OAuth Client ID' and 'OAuth Client secret' in the OAuth 2.0 configuration of Google PlayGround
2. Define in the manager API the authorized redirection URI for: https://developers.google.com/oauthplayground
3. Verify in the Manager API is enabled on the Dashboard

有人可以帮助我解决问题吗?

以下是我在Google Playground上所做的事情的说明:

Step 1 Select & authorize APIs
1. I select Google API v1 and framework https://www.googleapis.com/auth/contacts.readonly
2. Click the 'Authorize APIs'

Step 2 Exchange authorization code for tokens
1. Click the 'Oauth 2.0 Configuration'
2. Click on the 'Use your own OAuth credentials'
3. Enter the 'OAuth Client ID' and the 'OAuth Client secret'
4. Click the button: 'Exchange authorization code for tokens'

我不知道是否与此问题有关,但我注意到与我的帐户相关联的应用列表未显示为“OAuth 2.0 Playground'”。但我有“谷歌API浏览器”和#39;我成功测试了对我的联系人(Google People API)的访问权限。

1 个答案:

答案 0 :(得分:0)

通过点击齿轮图标进入设置。按照以下定义进行以下设置,然后勾选“使用您自己的Oauth凭据”,并填写您的Google OAuth应用的client_id和client_secret:

在您应用的OAuth同意屏幕的授权域列表中添加google.com。

单击您要为其进行下一步配置的应用程序:

确保还要在授权的JavaScript来源中添加“ https://developers.google.com”,并在授权的重定向URI中添加“ https://developers.google.com/oauthplayground” [请在添加后单击下面的“保存”]:

然后选择适当的访问要求,然后单击“授权API”:

您应该得到一个提示,然后对其进行授权[以防出现安全警告,请继续并单击允许请求的权限]

完成后,您应该具有授权码,可以使用该授权码生成令牌[访问令牌和刷新令牌,我们会获得刷新令牌,因为我们在前面的访问类型设置中指定了'offline'。这是一次性的身份验证代码(如果尝试重用,则会获得invalid_grant),存储访问令牌和刷新令牌以与Google API进行通信,可以使用刷新令牌来生成新的访问令牌。