为" googleapis.com/auth/userinfo"启用Google API;

时间:2018-02-05 22:59:55

标签: google-chrome-extension google-api google-oauth2 google-developers-console

我正在开发Google Chrome扩展程序。我希望能够使用来自这些端点的数据访问用户个人资料信息:

  

https://www.googleapis.com/auth/userinfo

     

https://www.googleapis.com/oauth2/v1/userinfo

我似乎无法访问这些资源。从我的网络搜索中,我可能需要在Google Developers Console中启用库API。但我看了那里,找不到合适的API来启用。有谁知道我应该启用哪个API?

3 个答案:

答案 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

然后,您可以像使用oauth2sheets等一样使用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。那里的源代码中也有一些示例。