例:
https://www.googleapis.com/buzz/v1/activities/search?lat=42.370498&lon=-71.083603&radius=100&prettyprint=true&alt=atom
「いつ、どこで、誰が、何をつぶやいたのか」という情報だけに限ると、チェックするタグは、以下にまとめたものくらい。
※Atom形式
<feed>
<entry>
<!-- メッセージ -->
<title>あいうえお</title>
<!-- 投稿日 -->
<published>2010-10-15T06:51:05.485Z</published>
<author>
<!-- gmailアカウントの姓名 -->
<name>おおつかみさほ</name>
<!-- ユーザのサムネイル画像パス -->
<link rel='photo' type='' href='' />
</author>
<activity:object>
<buzz:attachment>
<!-- 添付写真パス -->
<link rel='enclosure' type='' href='' />
<!-- 添付写真のプレビュー画像(小さめ)パス。1枚でも複数のタグが含まれる? -->
<link rel='preview' type='' href='' />
</buzz:attachment>
</activity:object>
<!-- 投稿された場所の緯度経度 -->
<georss:point>42.370498 -71.083603</georss:point>
</entry>
<!-- 以下、結果件数だけ、entryタグが連続する -->
</feed>
これだけ押さえていれば、「いつ、どこで、誰が、何をつぶやいたのか」を表示できる情報が最低限集められる。ちなみに、レスポンスデータの全タグを列挙すると以下になる。
<?xml version="1.0" encoding="UTF-8"?>
<feed>
<!-- httpsから始まる、発行したリクエストのURI -->
<link rel="" type=""/>
<!-- 検索結果をブラウザなどで表示した時のタイトル -->
<title></title>
<!-- 検索結果内の最も新しい更新日 -->
<updated></updated>
<!-- この検索のID -->
<id></id>
<generator uri="http://www.google.com/buzz">Google Buzz</generator>
<entry gd:kind="buzz#activity">
<title></title>
<published></published>
<updated></updated>
<!-- このBuzzのID -->
<id></id>
<!-- このBuzzのURI -->
<link rel="alternate" type="text/html" href=""/>
<!-- このBuzzのフィード -->
<link rel="self" type="application/atom+xml" href=""/>
<!-- このBuzzのコメントのフィード -->
<link rel="replies" type="application/atom+xml" href=""/>
<author>
<!-- ユーザID(数字)-->
<poco:id></poco:id>
<poco:photoUrl></poco:photoUrl>
<name></name>
<!-- ユーザのプロフィールURI-->
<uri></uri>
<link rel="photo" type="" href=""/>
<activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type>
</author>
<!-- メッセージ。titleと同じもの -->
<content type="html"></content>
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
<activity:object>
<activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type>
<!-- メッセージ。titleと同じもの -->
<content type="html"></content>
<buzz:original-content type="text"/>
<!-- このBuzzのURI -->
<link rel="alternate" type="text/html" href=""/>
<!-- このBuzzに添付されたデータ -->
<buzz:attachment>
<activity:object-type>http://activitystrea.ms/schema/1.0/photo</activity:object-type>
<link rel="enclosure" type="image/jpeg" href="/>
<link rel="alternate" type="text/html" href=""/>
<link rel="preview" type="image/jpeg" href=""/>
</buzz:attachment>
</activity:object>
<source>
<activity:service>
<title>Mobile</title>
</activity:service>
</source>
<!-- このBuzzを見る権限-->
<buzz:visibility>
<buzz:aclentry type="group">
<poco:id>G:@me:@public</poco:id>
<uri>https://www.googleapis.com/buzz/v1/people/@me/@groups/G:@me:@public?alt=atom</uri>
<poco:name>Public</poco:name>
</buzz:aclentry>
</buzz:visibility>
<!-- likedの件数やURI -->
<link rel="http://schemas.google.com/buzz/2010#liked" type="application/poco+xml" href="" buzz:count="0"/>
<georss:point></georss:point>
<!-- 郵便番号など-->
<georss:featureName></georss:featureName>
<poco:address>
<!-- 投稿されたロケーションをフォーマットした文字列 -->
<poco:formatted>X-X 〇〇町, Atsugi, Kanagawa Prefecture, Japan</poco:formatted>
</poco:address>
</entry>
</feed>
BuzzのデフォルトのレスポンスフォーマットはAtom。TwitterはJSON推奨で、Atom形式も現状は使用できるが、今後はサポートされなくなる。
PubSubHubbubもフィードが必要だし、BuzzはAtomとの親和性が高いんでしょうか。
「buzz:attachment」というタグを見ると、画像だけではなく色々なものを添付できそうですね。
返信削除できればBuzzで添付可能なファイルタイプのリストがあるといいですね。
そうですね。
返信削除パッと見、見当たりませんでした。
でも、Activity Streamsに列挙されているObject Typesはかなりサポートされているようです。
http://activitystrea.ms/schema/1.0/activity-schema-01.html
少なくとも、Article、Audio、Photo、Photo Album、Videoは添付データとして認識できそうです。
音やビデオも?
返信削除するとGoogleAppsの関連でDOCとかXLSなんかも添付できる、いや、実際は何でも添付できる仕様という可能性もありますね。
試してみないと分かりませんが、色々やれそうですね。
返信削除