我正在开发Google Chrome扩展程序。我希望能够使用来自这些端点的数据访问用户个人资料信息:
我似乎无法访问这些资源。从我的网络搜索中,我可能需要在Google Developers Console中启用库API。但我看了那里,找不到合适的API来启用。有谁知道我应该启用哪个API?
答案 0 :(得分:2)
如果您只需要用户的auth等电子邮件地址,则必须启用Google的Plus API,不 G ** - ***** d {{1}在Google Cloud API文档中随处可见。
此外,您需要提及范围People API
,不 https://www.googleapis.com/auth/userinfo.email
范围。
P.S。这是一个古老的问题,但没有答案。可能,你已经解决了它。我将它发布给未来的人,或仅仅是为了我未来的自我。
答案 1 :(得分:1)
如果您有来自用户的访问令牌,则可以从这些端点检索数据。首先,您必须通过使用户使用 google login API 登录来获取访问令牌。然后从以下链接中检索数据。 https://www.googleapis.com/oauth2/v1/userinfo?access_token=PUT_YOUR_USER'S_ACCESS_TOKEN_HERE
答案 2 :(得分:1)
您将至少需要如上所述添加范围https://www.googleapis.com/auth/userinfo.profile
。
然后,您可以像使用oauth2
,sheets
等一样使用calendar
API。
在nodejs中,应该是这样的:
const { google } = require('googleapis')
const auth = new google.auth.OAuth2(
keys.web.client_id,
keys.web.client_secret,
keys.web.redirect_uris[0]
)
// get the tokens from google
auth.credentials = tokens
const oauth2 = google.oauth2({ version: 'v2', auth })
const userinfo = await oauth2.userinfo.get()
console.log(userinfo)
此处记录了api:https://googleapis.dev/nodejs/googleapis/latest/oauth2/interfaces/Schema$Userinfo.html#info。那里的源代码中也有一些示例。