Feb 28, 2008
OpenSocial JavaScript API にチャレンジ(5)
Orkut が管理している情報を外部サーバへ引き渡す
今回は Orkut の管理している情報(Orkut のユーザID)を外部サーバに引き渡してみた。
remoteservice.xml
Orkut へのディプロイ方法は前回と同じ。
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Remote Service">
<Require feature="opensocial-0.7"/>
<Require feature="settitle"/>
<Require feature="views"/>
</ModulePrefs>
<Content type="html">
<![CDATA[
<script>
// <!--
function getElement (id) {
if (document.getElementById){
return document.getElementById(id);
} else if (document.all) {
return document.all[id];
} else if (document.layers) {
return document.layers[id];
} else {
return null;
}
}
function loadData() {
var request = opensocial.newDataRequest();
request.add(request.newFetchPersonRequest('OWNER'), 'owner');
request.send(onLoadData);
}
function onLoadData(data) {
// get owner info
var owner = data.get('owner').getData();
var ownerId = owner.getId();
var ownerDisplayName = owner.getDisplayName();
var s = "<dl>";
s += "<dt>id</dt><dd>" + ownerId + "</dd>";
s += "<dt>name</dt><dd>" + ownerDisplayName + "</dd>";
s += "</dl>";
getElement('owner').innerHTML = s;
getElement('childframe').src = "http://www.in-vitro.jp/blog/entries/SNS/20080228_01/"
+ ownerId + ".html";
}
gadgets.util.registerOnLoadHandler(loadData);
loadData();
// -->
</script>
<body>
My local profile:<br />
<div id="owner"></div><br />
<br />
My remote profile:<br />
<iframe id="childframe"/><br />
</body>
]]>
</Content>
</Module>
[Orkut のユーザID].html
remoteservice.xml で指定した場所に設置。例) http://www.in-vitro.jp/blog/entries/SNS/20080228_01/[OrkutのユーザID].html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> これはリモートサーバにあるプロフィール情報です。 </body> </html>
実行結果
TrackBack ping me at
http://www.in-vitro.jp/blog/index.cgi/SNS/20080228_01.trackback
writeback message: Ready to post a comment.

![[remote service]](/blog/entries/SNS/20080228_01/orkut_remoteservice.png)