2013-03-29 207 views
1

我正在尝试收集我的用户的数据,同时他注册了我的网站。通过Google Plus API登录

我要求以下范围,同时提出请求

<span id="signinButton"> 
    <span 
    class="g-signin" 
    data-callback="signinCallback" 
    data-clientid="1085488274737.apps.googleusercontent.com" 
    data-cookiepolicy="single_host_origin" 
    data-requestvisibleactions="http://schemas.google.com/AddActivity" 
    data-scope="https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.login"> 
    </span> 
</span> 

那么我首先想获得的电子邮件ID,并通过一个GET请求https://www.googleapis.com/oauth2/v1/userinfo?access_token=谷歌用户的加ID与访问令牌在上一步中获得。这工作非常好。它给我用户的ID和电子邮件。

但是,如果我使用获得的ID和访问令牌来获取更多配置文件的详细信息以及他的圈子中的朋友,则无法使用。

https://www.googleapis.com/plus/v1/people/userID/?key= 

它说无效键无效。

因为这个,我完全不知所措。提到数据范围有没有错误?

回答

5

在进行/plus/v1/people/{userID}调用时,可以指定keyaccess_token,并使用相应的参数。如果指定密钥,则这应该是已在API控制台中分配给您的应用程序密钥。如果您使用access_token,则可以使用您在登录按钮过程中收到的访问令牌。

因为你拥有它,它似乎最好使用ACCESS_TOKEN是这样的:

https://www.googleapis.com/plus/v1/people/me?access_token=11111111111111111111111

+0

Ohh..shit!我怎么能犯这样的错误:( –

+2

)有时候你只是脑子里有一个东西,它需要别人来指出它,比不断地把头撞到墙上更好! – Prisoner

+2

如果你把userid设置为“我”,你必须使用访问令牌而不是密钥一般来说,访问令牌总是有更多的运气API密钥的访问权限有限 理想情况下,使用客户端库来处理API对你的要求,它会显着减少头痛。 – BrettJ