Google api Google用户照片API-获取公共用户照片而无需验证

Google api Google用户照片API-获取公共用户照片而无需验证,google-api,google-plus,Google Api,Google Plus,到目前为止,我们使用Google Plus API获取用户的公共照片。 我们所需要的只是获取照片的用户id() 现在,this和picasaapi都被弃用了,我找到的唯一替代方法是使用Users.photos API() 正如您在描述中所看到的,这个API需要授权,尽管不推荐使用的API不需要授权,而且我希望获得的照片是公开的。不是所有用户都使用谷歌登录,但我希望能够向所有人展示使用谷歌登录的用户的公共照片。现在有什么方法可以做到这一点吗?您可以使用获取所需信息的用户ID。虽然您可以在不使用用户

到目前为止,我们使用Google Plus API获取用户的公共照片。 我们所需要的只是获取照片的用户id()

现在,this和picasaapi都被弃用了,我找到的唯一替代方法是使用Users.photos API()

正如您在描述中所看到的,这个API需要授权,尽管不推荐使用的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"
  }
 ]
}

你打算如何搜索该用户?我有该用户的用户ID和我的应用程序的api密钥(这应该足够了,因为这在Facebook中是这样的),如果你有用户ID,那么你已经与该用户登录,你使用userinfo端点获取他们的个人资料图片。假设用户A通过谷歌认证,现在是用户B,这是一位来宾,想要查看用户A的公共照片。那么用户B没有使用Google登录,因此无法查看图像。即使用户B登录,他们也无法获取A的图像,他们无法访问A。当用户A登录您的系统时,下载用户A的图像并将其存储在您的系统中。然后,当用户B想要看到它时,您就拥有了它。或者为用户A保存刷新令牌,然后您可以随时以A身份登录并检查他们的图像,我建议每周更新尚未登录的用户。在我的答案中检查用户信息端点以获得图像。谢谢,这很有帮助。你知道从用户的电子邮件中检索
帐户\u id
的方法吗?@cyrin。你可能想检查一下