<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SNS開発者の雑記帳 &#187; sns</title>
	<atom:link href="http://www.synapz.jp/mrsy/tag/sns/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.synapz.jp/mrsy</link>
	<description></description>
	<lastBuildDate>Fri, 05 Mar 2010 02:11:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Googe Open Social調査</title>
		<link>http://www.synapz.jp/mrsy/2008/02/googe-open-social/</link>
		<comments>http://www.synapz.jp/mrsy/2008/02/googe-open-social/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 11:19:41 +0000</pubDate>
		<dc:creator>mrsy</dc:creator>
				<category><![CDATA[Webサービス]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[OpenSocial]]></category>
		<category><![CDATA[sns]]></category>

		<guid isPermaLink="false">http://www.synapz.jp/mrsy/2008/02/14/post43/</guid>
		<description><![CDATA[
今回は、Google Open Social ネタで行きたいと思います。

Google CodeのOpen Socialページには、賛同している企業が続々と公開され、それに関するニュースも頻繁に見るようになりました。

個人的にはmixi以外の日本企業が無いからなのか、あるいは実際にサービスとして存在しているものが無いせいなのか、いまいち全体像というかメリットが実感できておりません。
そこで今回は、具体的にどのようなことができるのか調査してみました。

Google Open Social とは、各SNSが持つのデータを外部に提供することを目的としたAPIの仕様をまとめたものです。

プロフィール情報
友達情報
活動情報


また、Google Open Socialの利用方法は、以下の２つがあります。

上記情報をOpen Socialに準拠したAPIを介し、データを提供する側（コンテナ）
APIからデータを取得し、サービスを作る側（デベロッパ）


今回はデベロッパの立場から、orkutが提供するAPIを使ったチュートリアルをやってみました。
ざっくりとした手順は、以下のようになります。


orkutに登録
orkutのテスト環境(sandbox)に登録
sandbox上で友達関係を構築する
GGEにてOpen Socialガジェットを作成する
sandbox上のマイページに、ガジェットを追加する



1.orkutに登録
orkutは招待制ではないので、登録はこちらから簡単に行えます。（Googleアカウントが必要です。）


2. sandboxに登録
現時点では、APIはsandbox上でしか提供されていないので、こちらから利用する為の申請を行わなければなりません。僕の場合、承認されるまでに1日かかりました。。


3. 友達情報を取得するAPIを利用するため、sandbox上で友達関係を構築する。
こちらのフォーラムで、友達募集中のイケメン達がいっぱいいるので、Friend登録しまくります。
実際に登録依頼をしてみましたが、遠い外国の人たちが多いためか、いまだ承認してくれた人はいません。悲しい。。だれか友達になってください。


4. ガジェット作成
orkut上で動作するガジェットは、Googleガジェットと同一の仕様で動きます。よって、前回のエントリと同様に、GGE上でXMLを記述していく形になります。
先述のようにまだ友達がいないので、とりあえず自分の情報を出力するAPIだけを用いることにしました。

&#60;?xml version="1.0" encoding="UTF-8" ?&#62;
&#60;Module&#62;
&#160;&#60;ModulePrefs title="My Data"&#62;
&#160;&#160; &#60;Require feature="opensocial-0.6"/&#62;
&#160;&#60;/ModulePrefs&#62;
&#160;&#60;Content type="html"&#62;
&#160;&#60;![CDATA[
&#160;&#60;script type="text/javascript"&#62;
&#160; function getData() {
&#160;&#160;&#160; document.getElementById('message').innerHTML = 'Requesting my data...';
&#160;&#160;&#160; var req = opensocial.newDataRequest();
&#160;&#160;&#160; req.add(req.newFetchPersonRequest('OWNER'), 'owner');
&#160;&#160;&#160; req.send(showMyData);
&#160; };
&#160; function showMyData(dataResponse) {
&#160;&#160;&#160; var owner = dataResponse.get('owner').getData();
&#160;&#160;&#160; var html = 'My name is ' [...]]]></description>
			<content:encoded><![CDATA[<p>
今回は、Google Open Social ネタで行きたいと思います。<br />
<br />
Google CodeのOpen Socialページには、賛同している企業が続々と<a href="http://code.google.com/apis/opensocial/partners.html">公開され</a>、それに関するニュースも頻繁に見るようになりました。<br />
<br />
個人的にはmixi以外の日本企業が無いからなのか、あるいは実際にサービスとして存在しているものが無いせいなのか、いまいち全体像というかメリットが実感できておりません。<br />
そこで今回は、具体的にどのようなことができるのか調査してみました。<br />
<br />
Google Open Social とは、各SNSが持つのデータを外部に提供することを目的としたAPIの仕様をまとめたものです。<br />
<ul>
<li>プロフィール情報</li>
<li>友達情報</li>
<li>活動情報</li>
</ul>
<br />
また、Google Open Socialの利用方法は、以下の２つがあります。<br />
<ul>
<li>上記情報をOpen Socialに準拠したAPIを介し、データを提供する側（コンテナ）</li>
<li>APIからデータを取得し、サービスを作る側（デベロッパ）</li>
</ul>
<br />
今回はデベロッパの立場から、orkutが提供するAPIを使ったチュートリアルをやってみました。<br />
ざっくりとした手順は、以下のようになります。<br />
<br />
<ol>
<li>orkutに登録</li>
<li>orkutのテスト環境(sandbox)に登録</li>
<li>sandbox上で友達関係を構築する</li>
<li>GGEにてOpen Socialガジェットを作成する</li>
<li>sandbox上のマイページに、ガジェットを追加する</li>
</ol>
<br />
<br />
<h2>1.orkutに登録</h2>
orkutは招待制ではないので、登録は<a href="http://www.orkut.com/">こちら</a>から簡単に行えます。（Googleアカウントが必要です。）<br />
<br />
<br />
<h2>2. sandboxに登録</h2>
現時点では、APIはsandbox上でしか提供されていないので、<a href="http://code.google.com/support/opensocialsignup/">こちら</a>から利用する為の申請を行わなければなりません。僕の場合、承認されるまでに1日かかりました。。<br />
<br />
<br />
<h2>3. 友達情報を取得するAPIを利用するため、sandbox上で友達関係を構築する。</h2>
こちらの<a href="http://sandbox.orkut.com/Community.aspx?cmm=41271206">フォーラム</a>で、友達募集中のイケメン達がいっぱいいるので、Friend登録しまくります。<br />
実際に登録依頼をしてみましたが、遠い外国の人たちが多いためか、いまだ承認してくれた人はいません。悲しい。。だれか友達になってください。<br />
<br />
<br />
<h2>4. ガジェット作成</h2>
orkut上で動作するガジェットは、Googleガジェットと同一の仕様で動きます。よって、<a href="http://www.synapz.jp/blog/mrsy/2008/02/google-gadget.html">前回のエントリ</a>と同様に、GGE上でXMLを記述していく形になります。<br />
先述のようにまだ友達がいないので、とりあえず自分の情報を出力するAPIだけを用いることにしました。<br />
<br />
<pre><code>&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
&lt;Module&gt;
&nbsp;&lt;ModulePrefs title="My Data"&gt;
&nbsp;&nbsp; <b>&lt;Require feature="opensocial-0.6"/&gt;</b>
&nbsp;&lt;/ModulePrefs&gt;
&nbsp;&lt;Content type="html"&gt;
&nbsp;&lt;![CDATA[
&nbsp;&lt;script type="text/javascript"&gt;
&nbsp; function getData() {
&nbsp;&nbsp;&nbsp; document.getElementById('message').innerHTML = 'Requesting my data...';
&nbsp;&nbsp;&nbsp; var req = <b>opensocial.newDataRequest();</b>
<b>&nbsp;&nbsp;&nbsp; req.add(req.newFetchPersonRequest('OWNER'), 'owner');
&nbsp;&nbsp;&nbsp; req.send(showMyData);</b>
&nbsp; };
&nbsp; function showMyData(dataResponse) {
&nbsp;&nbsp;&nbsp; var owner = <b>dataResponse.get('owner').getData();</b>
&nbsp;&nbsp;&nbsp; var html = 'My name is ' + <b>owner.getDisplayName();</b>
&nbsp;&nbsp;&nbsp; document.getElementById('message').innerHTML = html;
&nbsp; };
&nbsp; gadgets.util.registerOnLoadHandler(getData);
&nbsp; &lt;/script&gt;
&nbsp; &lt;div id="message"&gt; &lt;/div&gt;
&nbsp;
&nbsp; ]]&gt;
&nbsp; &lt;/Content&gt;
&lt;/Module&gt;
</code></pre>
太文字部分がOpen Social APIになります。上記ソースをGGEに保存し、保存先のURIをコピーします。<br />
<br />
<img alt="gge.png" src="http://www.synapz.jp/blog/mrsy/2008/02/14/3-thumb-451x214.png" class="mt-image-center" style="margin: 0pt auto 20px;text-align: center" height="214" width="451" />
<br />
<br />
<h2>5. sandbox上のマイページにガジェットを登録する</h2>
<a href="http://sandbox.orkut.com/MyApps.aspx">このページ</a>に行き、先ほど保存したガジェットのURIを張りつけ、登録します。<br />
<br />
<img alt="gadget.png" src="http://www.synapz.jp/blog/mrsy/2008/02/14/1-thumb-386x232.png" class="mt-image-center" style="margin: 0pt auto 20px;text-align: center" height="232" width="386" />
<br />
登録できたようです。きちんとAPIから戻り値がかえってきました。<br />
<br />
<br />
今回は友達がいなく、友達情報を取得するAPIを利用できませんでしたが、<a href="http://code.google.com/apis/opensocial/docs/0.7/reference/">APIリファレンス</a>を見る限り、様々な情報を取得できるようです。<br />
<br />
しかし残念なことに、僕が見る限りではorkutのsandbox上できちんと動いているガジェットが存在してませんでした。僕のようにチュートリアルのコードをコピペしたものや、Javascriptエラーが起きているもの、利用しているAPIのバージョンが異なってエラーになっているものなどです。皆さん結構四苦八苦されているようです。。<br />
<br />
現時点での最新のAPIバージョンは0.7になっており、今後も機能追加やブラッシュアップされることが予想されます。APIを用いてどのようなサービスができるか想像すると楽しいですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.synapz.jp/mrsy/2008/02/googe-open-social/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

