:ソースコード:
<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Profile TEST">
<Require feature="opensocial-0.8" />
</ModulePrefs>
<Content view="canvas">
<![CDATA[
<div>こんにちは, <div id="profileName"></div>さん。</div>
<script type="text/javascript">
function init() {
var req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER), "result");
req.send(function(data) {
var result = data.get("result").getData();
var name = result.getDisplayName();
document.getElementById("profileName").innerHTML = name;
});
}
gadgets.util.registerOnLoadHandler(init);
</script>
]]></Content>
</Module>
それでは解説です。
----------
<div>こんにちは, <div id="profileName"></div>さん。</div>
----------
あとでprofileName部分にdocument.getElementById('profileName').innerHTMLでニックネームを入れるためのHTMLコードです。
-----------
var req = opensocial.newDataRequest();
-----------
mixiアプリはOpenSocialの仕様に則ったプラットフォームなので、OpenSocialのAPIが利用可能です。
リクエストを送信する処理を行うDataRequestオブジェクトを生成します。
-----------
req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER), "result");
-----------
DataRequestオブジェクトに要求を追加しています。
要求内容は
req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER), "viewer"
です。
なおnewFetchPersonRequest関数の第1引数は、対象のユーザを指定するための情報を格納します。
VIEWERはアプリケーションを操作するユーザ という意味で、
他に
OWNER アプリケーションの持ち主(opensocialIdSpec.PersonId.OWNER)
任意のユーザ 取得したいユーザのMemberID
があります。
ここではVIEWERを指定したので、このmixiアプリを操作する人の情報。ということになります。
add関数の第2引数は、結果を取り出すために使用するキー文字列です。
------------
req.send(function(data) {
var result = data.get("result").getData();
var name = result.getDisplayName();
document.getElementById("profileName").innerHTML = name;
});
------------
send関数を発行することで、mixiのサーバに取得要求を送る事が出来ます。
結果が返ってきた際には、send関数の引数のコールバック関数が起動されます。
その後は受け取ったデータを利用して、
各種処理を行います。
参考(かなり引用しました)URL
http://developer.mixi.co.jp/appli/pc/lets_enjoy_making_mixiapp/get_mymixi_info
上記サイトでは、文章量が多く簡潔で無い気が私自身はするので、書きました。