如何直接从谷歌应用领域获取用户的OAUTH ID?

时间:2015-08-10 18:30:46

标签: google-oauth google-apps

我正在编写一个用户通过google OAUTH 2.0登录的网络应用程序。当他们第一次登录时,我将我记录的电子邮件地址与OAUTH令牌的电子邮件地址相匹配,但最终将谷歌用户ID值存储为重要部分 - 这是一个很长的数字,最终显示在您的Google +如果您没有自定义网址,请参阅个人资料网址理想情况下,我可以跳过该步骤并预先填充我的用户数据库,因为我只允许来自特定谷歌应用程序域的人员登录。

我想要的是一种从我的谷歌应用程序域控制结构的某个元素生成“用户10110233402123是bob@example.com”等映射列表的方法,而不必在OAUTH登录舞蹈期间捕获这个映射。理想情况下,这将来自域控制面板,但直接在控制面板中查找用户似乎并未公开该特定信息。

1 个答案:

答案 0 :(得分:1)

我不相信您可以从控制面板获取该信息,但您可以从Directory API获取该信息。

更具体地说,如果您使用users.list() API调用,则会检索您的用户列表(已分页)。每个用户都有一个id字段,这就是您正在寻找的内容。

这是典型的users.list() API响应。 admin two的ID为123456789

{
 "kind": "directory#users",
 "users": [
  {
   "kind": "directory#user",
   "id": "123456789",
   "username": "admin2@example.com",
   "name": {
    "givenName": "admin",
    "familyName": "two",
    "fullName": "admin two"
   },
   "isAdmin": true,
   ...
 "nextPageToken": "NNNNN"
}

如果您不进行API调用,excellent tool GAM made by Ditto可让您在CSV列表中列出用户,其中ID是您要查找的列。