Google+がユーザーの一般公開ストリーム取得用APIを公開 – 仕様と制限

本日、Gooogle+が第一弾としましてユーザーの公開ストリームを取得するためのAPIを公開しました。
Google+ではサークル機能を使って「共有」と呼ばれる投稿の公開先を都度指定できますが、今回は一般公開されている「共有」に限定してアクセスが可能なAPIが公開されました。
ここでは、Google+ APIの仕様を簡単に説明させていただきます。
まず、ユーザーストリームの取得にはpeople.getのメソッドを使用します。
たとえば、私自身のストリームを例に使わせていただくと、以下のようなHTTPリクエストでストリームが取得可能です:
GET https://www.googleapis.com/plus/v1/people/104773279548546374529?key=yourAPIKey
するとこのようなデータが返ってきます。(見やすいにように一部省略)
{
"kind": "plus#person",
"id": "104773279548546374529",
"displayName": "朝山貴生",
"tagline": "Google+の最新情報を配信しています! CEO of Overtex Group.",
"gender": "male",
"aboutMe": "CEO of Overtex Group.",
"url": "https://plus.google.com/104773279548546374529",
"image": {
"url": "https://lh5.googleusercontent.com/-H3FIscUr2eI/AAAAAAAAAAI/AAAAAAAACjY/SquB-6AZYqY/photo.jpg"
},
"urls": [
{
"value": "http://takao.asaya.ma/"
},
{
"value": "https://plus.google.com/104773279548546374529",
"type": "profile"
},
{
"value": "https://www.googleapis.com/plus/v1/people/104773279548546374529",
"type": "json"
}
],
"organizations": [
{
"name": "関西学院大学 KGU",
"title": "商学部",
"type": "school"
},
{
"name": "Overtex Corp.",
"title": "CEO",
"type": "work"
}
],
"placesLived": [
{
"value": "Sunnyvale, CA, USA"
},
{
"value": "東京",
"primary": true
}
]
}
同様に、最新の「共有」ストリームをpeople.activitiesメソッドで取得できます:
GET https://www.googleapis.com/plus/v1/people/104773279548546374529/activities/public?key=yourAPIKey
結果の例はこのようになります:
{
"kind": "plus#activityFeed",
"nextPageToken": "eJxb85aBtbiIQTArsSxRLycxL13PM68kNT21SOjRgiXfG9stmBgYPRlYyxJzSlMrihgEEOr8SnOTUova1kyV5Z7yoJuJgaGigIFBtaG4kKGOAQTY4SyR0iIGpmhP310JamWvNi2FKmVg362wJeHKzUAL28mnq2ZbFuxbrHvym7_sB6uelwXbS0GaWRkYGHUcgEobGBgcGKAAqJ1BgYmFgRBggWIwUGDggLIYGQQgDAGYYTASChwYMAAHDgkBdAsV4IrhNDO6cpgxDqjCeAGS1QoI66BMRgwjULhgdQkOIGUwgzgY0AATugBYJRuKaUhugJiF0CwAE2hAspUHi-Ox6IYLAl0JdKkDQwPCkAAorYBNAwYARzbuwGyABgG6YQ5IusFBg8s2iAomdA_BbQTrayDoTAZwACDCAB72DdiiAe4wJrgkhvsw8wIL2AIFFhaYRRyosggdSBJMKEowU0kDgskBdwaHAwuqMLpG1Mh2AImwMDMQAtC49MAqyYiq0AFVFxGpBaECpreBgA6sSRYRYA4gI6FqALKSRVM",
"selfLink": "https://www.googleapis.com/plus/v1/people/104773279548546374529/activities/public?",
"nextLink": "https://www.googleapis.com/plus/v1/people/104773279548546374529/activities/public?maxResults=20&pageToken=eJxb85aBtbiIQTArsSxRLycxL13PM68kNT21SOjRgiXfG9stmBgYPRlYyxJzSlMrihgEEOr8SnOTUova1kyV5Z7yoJuJgaGigIFBtaG4kKGOAQTY4SyR0iIGpmhP310JamWvNi2FKmVg362wJeHKzUAL28mnq2ZbFuxbrHvym7_sB6uelwXbS0GaWRkYGHUcgEobGBgcGKAAqJ1BgYmFgRBggWIwUGDggLIYGQQgDAGYYTASChwYMAAHDgkBdAsV4IrhNDO6cpgxDqjCeAGS1QoI66BMRgwjULhgdQkOIGUwgzgY0AATugBYJRuKaUhugJiF0CwAE2hAspUHi-Ox6IYLAl0JdKkDQwPCkAAorYBNAwYARzbuwGyABgG6YQ5IusFBg8s2iAomdA_BbQTrayDoTAZwACDCAB72DdiiAe4wJrgkhvsw8wIL2AIFFhaYRRyosggdSBJMKEowU0kDgskBdwaHAwuqMLpG1Mh2AImwMDMQAtC49MAqyYiq0AFVFxGpBaECpreBgA6sSRYRYA4gI6FqALKSRVM",
"title": "Plus Public Activity Feed for 朝山貴生",
"updated": "2011-09-15T20:22:52.440Z",
"id": "tag:google.com,2010:/plus/people/104773279548546374529/activities/public",
"items": [
{
"kind": "plus#activity",
"title": "おはようございます!今朝はいきなりFacebookが大きな方向転換を見せました! 「Facebookがtwitterのフォローのような『フィード購読』機能を提供開始し個人のフィードをオープン化へ...",
"published": "2011-09-14T23:09:49.000Z",
"updated": "2011-09-14T23:09:50.323Z",
"id": "z12gufrodmrwip3xo04ci3oykwi3wzlxjjk",
"url": "https://plus.google.com/104773279548546374529/posts/X8RgvxydqCU",
"actor": {
"id": "104773279548546374529",
"displayName": "朝山貴生",
"url": "https://plus.google.com/104773279548546374529",
"image": {
"url": "https://lh5.googleusercontent.com/-H3FIscUr2eI/AAAAAAAAAAI/AAAAAAAAAAA/CF_qwnUcp2I/photo.jpg"
}
},
"verb": "post",
"object": {
"objectType": "note",
"url": "https://plus.google.com/104773279548546374529/posts/X8RgvxydqCU",
"content": "おはようございます!今朝はいきなりFacebookが大きな方向転換を見せました!\u003cbr /\u003e\u003cbr /\u003e「Facebookがtwitterのフォローのような『フィード購読』機能を提供開始し個人のフィードをオープン化へ」\u003cbr /\u003e\u003cbr /\u003e\u003ca href=\"http://takao.asaya.ma/article_2674.html\" \u003ehttp://takao.asaya.ma/article_2674.html\u003c/a\u003e",
"url": "https://plus.google.com/104773279548546374529/posts/X8RgvxydqCU",
"replies": {
"totalItems": 44
},
"plusoners": {
"totalItems": 72
},
"resharers": {
"totalItems": 45
},
"attachments": [
{
"objectType": "article",
"displayName": "Facebookがtwitterのフォローのような『フィード購読』機能を提供開始し個人のフィードをオープン化へ",
"content": "本日Facebookが、ワンクリックで他のユーザーのフィードを購読できる、「フィード購読」という機能を提",
"url": "http://takao.asaya.ma/article_2674.html"
},
{
"objectType": "photo",
"image": {
"url": "http://images0-focus-opensocial.googleusercontent.com/gadgets/proxy?container=focus&gadget=a&resize_h=100&url=http%3A%2F%2Ftakao.asaya.ma.s3-website-us-east-1.amazonaws.com%2Fwp-content%2Fuploads%2F2010%2F10%2Ffacebook-e1287420369475.png",
"type": "image/jpeg"
},
"fullImage": {
"url": "http://takao.asaya.ma.s3-website-us-east-1.amazonaws.com/wp-content/uploads/2010/10/facebook-e1287420369475.png",
"type": "image/jpeg"
}
}
]
},
"provider": {
"title": "Google+"
},
"access": {
"kind": "plus#acl",
"items": [
{
"type": "public"
}
]
}
}
]
}
APIを使用する際には、oAuth2のplus.me scopeを使用して、ユーザーが誰かを判別することが出来ます。判別後は以下の簡単なHTTPリクエストでユーザー情報を取得できます。
GET https://www.googleapis.com/plus/v1/people/me
また、Google+ APIでは以下の標準仕様を出来るだけ採用しているとのことです。
- JSONフォーマットを返すREST API
- ユーザー情報にはPoCoフォーマット
- ユーザーのアクティビティにはActivityStrea.msフォーマット
- ユーザー認証にはoAuth 2
そして、PHP、Ruby、Python、Java、.NETなどのライブラリがすでにこちらからダウンロード可能です。
今回、晴れて待望のGoogle+ API公開となったわけですが、残念ながらAPIはこのように公開ストリームの取得に限定されているだけではなく、API Consoleで申請をしてみたところ、1日たった1,000回までのアクセスしか認められておらず、あくまでもテスト用の公開としか思えない状況です。
API経由でGoogle+に投稿できるようになるには、まだまだ時間がかかりそうです。
正式な発表(英文)はこちら、APIの仕様(英文)はこちらをどうぞ。
今後もGoogle+最新情報を配信しますのでもしよろしければ是非Google+で私をフォローしてみてください。
Facebook上にもGoogle+ユーザーのページがありますのでよろしければそちらの「いいね!」もどうぞ。
招待状が欲しい方は、こちらからGoogleアカウントのメールアドレスをお知らせください。
また、他のGoogle+関連記事はこちらから。