プロフィール情報を取得して表示

:ソースコード:


<?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

上記サイトでは、文章量が多く簡潔で無い気が私自身はするので、書きました。





コメントをどうぞ