2014-03-18 60 views
0

我试图通过使用Firefox 28.0和REST Client v2.0.3进行Google API调用的步骤来了解OAuth 2.0。为什么Google Calendar API不接受我的不记名令牌?

  1. 我去了Google Developer OAuth 2.0 Playground的网站。
  2. 我在用我的谷歌凭证签署
  3. 选择“日历API V3” .readonly
  4. 点击“授权的API”按钮
  5. 然后我点击“Exchage授权代码令牌”,获得访问令牌ab31.4.CDEfG_HI1JkKMNoPQR5S9tuvW_x2yzabcDEFGhiJklMnOpqRs-T6uvwXyza5BcdEFGHiJK3L
  6. Calendar API,我用的是URL https://www.googleapis.com/calendar/v3/users/me/calendarList wtih的GET HTTP动作
  7. 在RESTClient实现我创建一个标题名为“授权”和值ab31.4.CDEfG_HI1JkKMNoPQR5S9tuvW_x2yzabcDEFGhiJklMnOpqRs-T6uvwXyza5BcdEFGHiJK3L从设置为:从OAuth的盒子“访问令牌” 2.0游乐场。
  8. 随着空Body我点击SEND,我得到授权错误(操场上说,我的令牌仍然有效另外30分钟)

错误的标题是:

Status Code: 401 Unauthorized 
Alternate-Protocol: 443:quic 
Cache-Control: private, max-age=0 
Content-Encoding: gzip 
Content-Length: 162 
Content-Type: application/json; charset=UTF-8 
Date: Tue, 18 Mar 2014 19:17:35 GMT 
Expires: Tue, 18 Mar 2014 19:17:35 GMT 
Server: GSE 
WWW-Authenticate: Bearer realm="https://www.google.com/accounts/AuthSubRequest" 
X-Content-Type-Options: nosniff 
X-Firefox-Spdy: 3.1 
X-Frame-Options: SAMEORIGIN 
X-XSS-Protection: 1; mode=block 

和正文:

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "authError", 
    "message": "Invalid Credentials", 
    "locationType": "header", 
    "location": "Authorization" 
    } 
    ], 
    "code": 401, 
    "message": "Invalid Credentials" 
} 
} 

回答

0

标题需要设置为Authorization: Bearer ab31.4.CDEfG_HI1JkKMNoPQR5S9tuvW_x2yzabcDEFGhiJklMnOpqRs-T6uvwXyza5BcdEFGHiJK3L。您需要令牌之前的“承载者”一词。

相关问题