通过Google Plus API登录

Pra*_*ngh 1 login access-token google-plus

我正在尝试收集用户的数据,当他注册我的网站时.

我在提出请求时要求以下范围

<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> 
Run Code Online (Sandbox Code Playgroud)

然后,我首先尝试https://www.googleapis.com/oauth2/v1/userinfo?access_token=通过使用上一步中获得的访问令牌发出GET请求来获取用户的电子邮件ID和Google + ID .这完全没问题.它给了我用户的ID和电子邮件.

但是,如果我使用获得的ID和访问令牌来获取更多个人资料详细信息以及他圈子中的朋友,则无法使用.

https://www.googleapis.com/plus/v1/people/userID/?key=
Run Code Online (Sandbox Code Playgroud)

它表示无效密钥无效.

因此,我完全无能为力.提到数据范围有什么错误吗?

Pri*_*ner 5

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

既然你拥有它,似乎最好使用access_token这样的东西:

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

  • 有时候你只需要一个大脑,而其他人需要指出它.比连续敲打墙头更好! (2认同)
  • 如果将userid设置为"me",则必须使用访问令牌而不是密钥.一般来说,访问令牌总是会有更多好运.API密钥限制在他们能够访问的内容中.理想情况下,使用客户端库来处理API请求,这将显着减少麻烦. (2认同)