2012-04-24 37 views
5

我正在编写Web服务器以支持Google API的oAuth2,并且遵循this documentation。一切似乎都正常工作,直到我尝试使用访问令牌制作Google API。例如呼叫从文档:我的Google oAuth2令牌看起来是否正确?

https://www.googleapis.com/oauth2/v1/userinfo?access_token=1/fFBGRNJru1FQd44AzqT3Zg 

当我尝试它与我的访问令牌,我得到401无效令牌错误。

通过文献查看,所有示例均以1/fFBGR ......的格式显示访问令牌。我的访问令牌形式为ya29.AHES67z .......并且更长(请参阅下面包含谷歌响应的片段)。

oauth2 request:{ 
"access_token" : "ya29.AHES67zeEn-RDg9CA5gGKMLKuG4uVB7W4O4WjNr-NBfY6Dtad4vbIZ", 
"token_type" : "Bearer", 
"expires_in" : 3600 
} 

所以看起来我的令牌不正确。我必须对它进行编码/解码吗?

+1

嗯 - 也许我的令牌没问题。找到一个[示例](http://are4.us/raysblog/?p=2932),其中某人有一个以ya29开头的令牌。 – 2012-04-24 04:45:31

回答

11

我最近在玩VBA的OAuth2.0。

Authorization Code Begins With: 4/Omoy (30 Characters Long) 
Access_Token Begins With:  ya29.AHES (60 Characters Long)  
Refresh_Token Begins With:  1/Ry68 (45 Characters Long) 

我没有做任何解码或编码使用这些值。这些都是工作,功能价值。

+0

是的 - 正确。我一直在误会。 – 2012-04-25 00:58:43

+0

好资料!我以为我的问题是ya29.AHES令牌与我的服务器存在差异,导致错误,但是当我读到这个答案时,我至少知道我有正确的东西。当仔细阅读“用google +登录”文档时,我发现在一些小小的打印中,它提到在API控制台上创建应用程序时,必须将其标记为“其他”而不是“iOS”。当我做出这个改变时,它开始正常工作。据推测,在我想与谷歌分享的地步,我会创建另一个API控制台ID与iOS打开... ... – 2012-11-21 06:10:31

相关问题