私は、Googleのデータエクスポートサービス用のHangouts.jsonパーサーに取り組んでいます。このパーサーは、jsonファイルからすべての会話、添付ファイル、その他の情報を取得し、データベースにすべてを入力します。私はすべてを終えましたが、jsonファイルがGAIA IDを送信した人に提供する唯一の情報は、Googleがサービス間で使用する一意のIDです。問題は、ユーザーが識別した名前やメールアドレスなど、ユーザーに関するその他の情報を検索する方法がわからないことです。
GAIA IDを取得して次のようなURLに入力できるため、ほとんどの情報が公開されていることを私は知っています。https://plus.google.com/u/0/#####################/about
ここで、#はGAIAIDです。このページでは、スクリーン名を公開します。電子メールアドレスが不明な場合は、次を使用して同じことを推測できます。reply-#####################@profiles.google.com
これを使用して連絡することもできます。
理想的には、少なくともその公開Google+ページを解析せずにユーザーの画面名を検索できるようにしたいのですが、本当のメールも素晴らしいでしょう。したがって、理想的には、APIまたはその他のリソースでGAIAIDから画面名や電子メール情報を検索する必要があります。
重要な更新
2019年3月:この回答はまだ投票を集めていますが、GoogleはGoogle PlusAPIを撤回/撤回しました。
これは適用されなくなるため、代替ソリューションが必要になります。
元の返信
Google Plus APIを使用します: https://developers.google.com/+/api/
ハングアウトで特にテストしたことはありませんが(Hongouts APIがあることを知りませんでした!)、他のAPIからIDを指定して詳細を返します。
ここでテストできます: https://developers.google.com/apis-Explorer/#p/plus/v1/plus.people.get 何が得られるかを確認します。
Gaia IDは、People API、metadata
のpersonFields
をリクエストします。
Google API Explorer で試してみてください(サンプルリンクは以下にあります)。
連絡先(彼/彼女がGoogleユーザーである場合)の場合、people.connections/list
リソースを使用します:
People API --people.connections/list --personFields = names、metadata (必須ではありませんが、わかりやすくするためにnames
の値をpersonFields
に含めました。ガイアIDを取得するには)
サンプル出力(1XXXXXXXXXXXXXXXXXXXX
はガイア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
はガイアIDです):
{
"resourceName": "people/...",
"etag": "....",
"metadata": {
"sources": [
{
"type": "PROFILE",
"id": "1XXXXXXXXXXXXXXXXXXXX",
"etag": "...",
"profileMetadata": {
"objectType": "PERSON",
"userTypes": [
"GOOGLE_USER"
]
}
...
},
...
],
"objectType": "PERSON"
}
}