mixiアプリ作成入門(15) – アクティビティにパラメータをつけてみる -
こんにちは。
またもや久しぶりになってりまいました・・・マイキーです。失礼します ><
前回はアクティビティのリンク先を、通常「run_appli.pl」となっているところを「view_appli.pl」に変えてみました。
今回はリンク先にパラメータを付与して、アプリ実行時にパラメータを読み取ってみましょう!
<?xml version=”1.0″ encoding=”UTF-8″?>
<Module>
<ModulePrefs title=”test” description=”サンプル”>
<Require feature=”opensocial-0.8″ />
<Require feature=”dynamic-height” />
<Require feature=”views” />
</ModulePrefs>
<Content type=”html”><![CDATA[<script type="text/javascript">
function postActivity(activity_msg) {
var params = {};
params[opensocial.Activity.Field.TITLE] = activity_msg;var media = opensocial.newMediaItem(“image/gif”, “http://mixiap.info/image.gif”);
params[opensocial.Activity.Field.MEDIA_ITEMS] = [media];// 起動時に渡したいパラメータを準備する
var values = {
test: “true”,
action: “1″
};
var escaped = gadgets.io.encodeValues({
appParams: gadgets.json.stringify(values)
});// パラメータを付与する
params[opensocial.Activity.Field.URL] = “http://mixi.jp/run_appli.pl?id=アプリID” + “&” + escaped;
var activity = opensocial.newActivity(params);
opensocial.requestCreateActivity(
activity, opensocial.CreateActivityPriority.HIGH, activityResultCallback
);
}function activityResultCallback(status) {
if (status.hadError()) {
alert(“Error Creating activity.”);
}else{
var body = document.getElementById(“activity_area”);
body.innerHTML = ‘お知らせしました。’;
}
}// 起動時にパラメータチェック
window.onload = function(){
var params = gadgets.views.getParams();
var action = params["action"];
if(action == “1″){
alert(“アクティビティからのリンクです。”);
}
}
</script><div id=”activity_area”>
みんなにお知らせする?<br />
<div>
<input type=”button” name=”button” id=”send_activity” value=”知らせる” onclick=”postActivity(‘アクティビティテスト!’)” />
</div>
</div>]]></Content>
</Module>
アプリ実行画面でパラメータを受け取りたいので、リンク先は「run_appli.pl」です。
実行画面で受け取りたいパラメータたちは、appParams の中に JSON 形式でエスケープしてまとめて入れるという特殊な方法を用いないといけないので注意してください。
また、Require feature に「views」を加えるのをお忘れなく!
いろいろ説明したいことはあるのですが、今回がだいぶ長くなってしまいそうなよかんなので、次回でもう少し詳しい説明をしてみたいと思います。
それではまた!
Post Footer automatically generated by Add Post Footer Plugin for wordpress.



