如何通过Google Plus中的用户ID获取用户图片?

时间:2014-03-14 13:44:31

标签: web google-api google-plus userinfo

我曾经通过此网址获取用户图片

https://plus.google.com/s2/photos/profile/(user_id)?sz=150

但现在我得到的是404错误或没有图像。我知道谷歌已经改变了它的政策和连接方式,并允许其他人获取信息,但我没有做任何事情来达到与上述相同的结果。

注意:我无法在此处使用身份验证功能,因为我向其他未完全连接的用户显示用户的图像。

或者以其他方式,用户可能不是来自Google登录,但我只需向其他Google用户展示图片。

任何帮助都将受到高度赞赏!!!

修改: 我已通过people.get方法检查了

https://www.googleapis.com/plus/v1/people/11595...3592320?key=AIzaSyCkdmtNN1XDg....EpepOIIs

但我收到错误说

{
   "error": {
     "errors": [
        {
          "domain": "usageLimits",
          "reason": "accessNotConfigured",
          "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
        }
     ],
   "code": 403,
   "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
  }
}

编辑:我已经启用此功能,因为我已在我的网站中使用Google+登录,此处我附上了屏幕截图:

Google+ API already enabled

2 个答案:

答案 0 :(得分:20)

早些时候,经过大量的研究和努力,我的网站也遇到了同样的问题,我从自己身上找到了解决方案,希望这对你也有用并解决你的问题:

Old Trick

谷歌已经改变了他们的政策,因此获取Google个人资料图片的旧技巧现在无法使用。

例如https://plus.google.com/s2/photos/profile/(user_id)?sz=150

新技巧

获取请求:

https://www.googleapis.com/plus/v1/people/115950284...320?fields=image&key={YOUR_API_KEY}

回复:200 OK

{
    "image": 
    {
         "url": "https://lh3.googleusercontent.com/-OkM...AANA/ltpH4BFZ2as/photo.jpg?sz=50"
    }
}

YOUR_API_KEY 公共API访问密钥,它是通过 API&中凭据生成的。来自https://console.developers.google.com/

的身份验证

在创建公开API访问密钥时,您可以选择 Referers 应该发出此请求的网址但是为了检查您应该尝试不添加任何它的网址,如果有效,请使用您网站的网址。

您可以选择要使用here可能需要的URL发送的其他字段。

快乐编码!!!

答案 1 :(得分:9)

您可以使用people.get Google+ API调用并指定所需用户的 userid 来获取此信息。这将包括image.url字段,您可以根据需要使用该字段并进行调整。

由于这是用户的公开信息,因此您无需用户进行身份验证即可对其进行身份验证。但是,您需要一个API密钥,您将添加到API调用中使用的URL的末尾。

您可以在" API和auth"下转到https://console.developers.google.com/来获取API密钥。部分和"证书"小节。然后,您可以点击" Public API Access"下的按钮。说"创建新密钥"。

您用来获取信息的网址将类似于

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

并且您将使用个人资料信息返回JSON对象。

<强>更新: 确保您还在开发控制台中启用了Google+ API。您可以通过https://console.developers.google.com/在&#34; API和auth&#34;下进行此操作。部分和&#34; API&#34;小节,你可以找到&#34; Google+ API&#34;在列表中打开它。