到目前为止,我们一直使用Google Plus API来获取用户的公开照片。 我们所需要做的就是获取照片(as described here)的用户ID。
现在不建议使用此API和Picasa API,我发现的唯一替代方法是使用Users.photos API(as described here)。
您会在说明中看到,此API需要授权,尽管已弃用的API不需要授权,而且我希望获得的照片是公开的。并非我们所有的用户都使用Google登录,但是我希望能够向所有人展示使用Google登录的用户的公开照片。现在有什么办法吗?
答案 0 :(得分:4)
您可以使用people.get
method of the Google People API仅通过用户ID来获取所需的信息。虽然您可以在没有用户令牌的情况下获取公共信息,但您将需要一个API密钥。如果信息不是公开的,您也将无法获得。
您需要确切要求您要哪些字段。 “名称”和“照片”字段可能是对您最重要的字段,但还有其他可用的字段。您将获得一个可能值的数组,每个值指示其来源。您可能会想要“ PROFILE”的源类型,但是您当然可以评估其他类型。
因此,如果您发出的请求是
GET https://people.googleapis.com/v1/people/101852559274654726533?personFields=names%2Cphotos&key={YOUR_API_KEY}
您将要求提供我的公开个人资料。您将获得类似
的响应{
"resourceName": "people/101852559274654726533",
"etag": "%EgYBAj0DNy4aDAECAwQFBgcICQoLDA==",
"names": [
{
"metadata": {
"primary": true,
"verified": true,
"source": {
"type": "PROFILE",
"id": "101852559274654726533"
}
},
"displayName": "Allen “Prisoner” Firstenberg",
"familyName": "Firstenberg",
"givenName": "Allen",
"displayNameLastFirst": "Firstenberg, Allen"
}
],
"photos": [
{
"metadata": {
"primary": true,
"source": {
"type": "PROFILE",
"id": "101852559274654726533"
}
},
"url": "https://lh5.googleusercontent.com/-RDndFau_En4/AAAAAAAAAAI/AAAAAAAB8CY/sTL9kJMmIgk/s100/photo.jpg"
}
]
}