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+関連記事はこちらから。