我建立了一个flask / python网站,可以在用户的Google日历上创建和编辑事件。显然,用户必须通过OAuth2授予他们的权限(我很难理解,但最终还是成功了)。目前,我正在强迫用户注册并登录我的网站,我存储各种用户设置以及刷新令牌,这些令牌附加到他们在我的网站注册时选择的任何用户名...。但是现在,我希望用户能够允许用户无需注册即可使用我的网站。我仍然想存储用户设置和刷新令牌,但是现在我需要某种标签来标识用户,因此我知道他们回来时就是他们(也许他们将从另一台PC访问我的网站)。作为OAuth2流程的一部分,是否有一些我可以访问的字符串,可以用来唯一标识用户,还是我需要做一些额外的步骤来抓取这样的字符串...
通过OAuth 2.0唯一标识Google用户的一种方法是记录用户的唯一标识符。该标识符称为id
对象的Source属性。
要读取该标识符,您需要使用People.get()
作为People.get()
和people/me
作为resourceName
来调用metadata
。第一个值将标识授权帐户为我们感兴趣的帐户。在第二个参数personFields
中,我们指示我们想要有关目标帐户的元数据。本身并不需要后者,但是因为我们需要在personFields
中填写一个有效值。总之,请求应如下所示(如果使用personFields
完成):
cURL
有了该请求,您将得到一个JSON响应,第一行将显示为:
curl \
'https://people.googleapis.com/v1/people/me?personFields=metadata&key={API KEY}' \
--header 'Authorization: Bearer {ACCESS TOKEN}' \
--header 'Accept: application/json' \
--compressed`
这就是您要用于用户识别的{
"resourceName": "people/{ID HERE}",
…
。请问我任何问题是否需要更多帮助。