【问题标题】:How to look up user information from Google GAIA ID?如何从 Google GAIA ID 中查找用户信息?
【发布时间】:2015-01-17 15:34:10
【问题描述】:

我一直在为 Google 的 Takeout 服务开发一个 Hangouts.json 解析器,该解析器从 json 文件中获取所有对话、附件和杂项信息,并将所有内容填充到数据库中。我已经完成了所有工作,但 json 文件提供的关于谁发送了我能够弄清楚的 GAIA ID 的唯一信息是 Google 在他们的服务之间使用的唯一 ID。问题是我不知道如何查找有关用户的任何其他信息,例如他们识别的姓名或电子邮件。

我知道大部分信息都是公开的,因为您可以获取 GAIA ID 并将其放入如下 URL:https://plus.google.com/u/0/#####################/about,其中 # 是 GAIA ID。此页面将公开显示他们的网名。当电子邮件地址未知时,可以使用 reply-#####################@profiles.google.com 推断出同样的事情,这也可以用来联系他们。

理想情况下,我希望能够查找用户的屏幕名称,而无需至少解析该公共 Google+ 页面,但真正的电子邮件也很棒。所以理想情况下,我想要一个 API 或其他资源来查找来自 GAIA ID 的屏幕名称和/或电子邮件信息。

【问题讨论】:

  • 为了记录,GAIA 代表 Google 帐户和 ID 管理google.com/support/enterprise/static/gsa/docs/admin/70/…
  • 我还玩弄了来自 Google Takeout 的 Hangouts.json 文件,并在 github.com/amardeshbd/kotlin-google-hangouts-parser 创建了 java/kotlin 解析器——这是对数据快照进行更多试验的好信息。我可以确认https://developers.google.com/people/api/rest/v1/people/get 可以获取用户个人资料信息。
  • 您找到解决方案了吗?我有完全相同的目标 - 从 gaia Id 获取电子邮件。我在谷歌地图的离线商务下收到了用户的反馈。我只能从“本地专家”或 gmap 那里获得 gaia id,如果他们有或提高他们的忠诚度,我就不可能解决用户问题。我不确定回复-#####################@profiles.google.com 地址是否正常工作。

标签: php android json hangout


【解决方案1】:

重要更新

2019 年 3 月:该答案仍在获得投票,但 Google 正在撤回/已撤回 Google Plus API。

您将需要一个替代解决方案,因为这将不再适用。

原始回复

使用 Google Plus API:https://developers.google.com/+/api/

我没有专门用 Hangouts 测试过(我从来不知道有一个 Hongouts API!)但它会返回给定来自其他 API 的 ID 的详细信息。

你可以在这里测试它:https://developers.google.com/apis-explorer/#p/plus/v1/plus.people.get 看看你会得到什么。

【讨论】:

    【解决方案2】:

    Gaia ID可以通过People API获取,方法是在personFields中请求metadata

    您可以尝试使用Google APIs Explorer(下面提供示例链接)。


    对于您的任何联系人(前提是他/她是 Google 用户),使用 people.connections/list 资源:

    People API - people.connections/list - personFields=names,metadata (为了更好的说明,我在personFields 中包含了names 值,尽管不需要检索Gaia Id)

    样本输出(1XXXXXXXXXXXXXXXXXXXX 是 Gaia Id):

    {
      "connections": [
        {
          "resourceName": "people/c42",
          "etag": "...",
          "metadata": {
            "sources": [
              {
                "type": "CONTACT",
                ...
              },
              {
                "type": "PROFILE",
                "id": "1XXXXXXXXXXXXXXXXXXXX",
                ...
                "profileMetadata": {
                  "objectType": "PERSON",
                  "userTypes": [
                    "GOOGLE_USER"
                  ]
                }
              }
              ....
            ],
            "objectType": "PERSON"
          }
          "names": [
            {
              ...
              "displayName": "John Doe",
              ...
            }
          ]
        },
        ...
    }
    

    为您自己或任何用户使用people/get 资源

    People API - people/get - personFields=metadata

    resourceName 字段中:

    • 使用people/me获取您的信息。
    • 使用之前在people.connections.list 请求中检索到的resourceName 值来检索其他用户信息

    样本输出(1XXXXXXXXXXXXXXXXXXXX 是 Gaia Id):

    {
      "resourceName": "people/...",
      "etag": "....",
      "metadata": {
        "sources": [
          {
            "type": "PROFILE",
            "id": "1XXXXXXXXXXXXXXXXXXXX",
            "etag": "...",
            "profileMetadata": {
              "objectType": "PERSON",
              "userTypes": [
                "GOOGLE_USER"
              ]
            }
            ...
          },
         ...
        ],
        "objectType": "PERSON"
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-01-09
      • 2013-11-03
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 2020-07-31
      相关资源
      最近更新 更多