| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Mixi アプリ VIEWERの情報表示」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==mixi アプリ VIEWERの情報表示== [mixi アプリ] ===閲覧者情報の表示サンプル=== File:0801_mixi_app_test01.jpg ===ソース=== ====重要API=…」)
 
1行目: 1行目:
 
==mixi アプリ VIEWERの情報表示==
 
==mixi アプリ VIEWERの情報表示==
[mixi アプリ]
+
[[mixi アプリ]]
 
===閲覧者情報の表示サンプル===
 
===閲覧者情報の表示サンプル===
 
[[File:0801_mixi_app_test01.jpg]]
 
[[File:0801_mixi_app_test01.jpg]]
16行目: 16行目:
 
|-
 
|-
 
|}
 
|}
  <?xml version="1.0" encoding="UTF-8" ?>
+
  &lt;?xml version="1.0" encoding="UTF-8" ?&gt;
  <Module>
+
  &lt;Module&gt;
   <ModulePrefs title="hello world example">
+
   &lt;ModulePrefs title="hello world example"&gt;
     <Require feature="opensocial-0.8"/>
+
     &lt;Require feature="opensocial-0.8"/&gt;
   </ModulePrefs>
+
   &lt;/ModulePrefs&gt;
   <Content type="html">
+
   &lt;Content type="html"&gt;
       <![CDATA[  
+
       &lt;![CDATA[  
         <script type="text/javascript">
+
         &lt;script type="text/javascript"&gt;
 
             // 閲覧者情報取得要求
 
             // 閲覧者情報取得要求
 
             function request() {
 
             function request() {
38行目: 38行目:
 
             // 閲覧者情報表示
 
             // 閲覧者情報表示
 
             function printPropertiesAsTable(obj, dpth) {
 
             function printPropertiesAsTable(obj, dpth) {
                 if (dpth > 5) {
+
                 if (dpth &gt; 5) {
                     return "<b>parse limit over</b>";
+
                     return "&lt;b&gt;parse limit over&lt;/b&gt;";
 
                 }
 
                 }
                 var tbl = "<table border='1'>";
+
                 var tbl = "&lt;table border='1'&gt;";
                 tbl += "<tr><th>Property</th><th>Type</th><th>Value</th></tr>";
+
                 tbl += "&lt;tr&gt;&lt;th&gt;Property&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;";
 
                 for (prop in obj) {
 
                 for (prop in obj) {
 
                     var type  = typeof(eval("obj." + prop));
 
                     var type  = typeof(eval("obj." + prop));
 
                     var blnkt = (type == "function")?"()":"";  
 
                     var blnkt = (type == "function")?"()":"";  
                     tbl += "<tr>";
+
                     tbl += "&lt;tr&gt;";
                     tbl += "<td>" + prop + "</td>";
+
                     tbl += "&lt;td&gt;" + prop + "&lt;/td&gt;";
                     tbl += "<td>" + type + "</td>";
+
                     tbl += "&lt;td&gt;" + type + "&lt;/td&gt;";
 
                     if (type == 'object') {
 
                     if (type == 'object') {
                         tbl += "<td>" + printPropertiesAsTable(eval("obj." + prop), dpth++) + "</td>";  
+
                         tbl += "&lt;td&gt;" + printPropertiesAsTable(eval("obj." + prop), dpth++) + "&lt;/td&gt;";  
 
                     } else {
 
                     } else {
                         tbl += "<td>" + eval("obj." + prop + blnkt) + "</td>";
+
                         tbl += "&lt;td&gt;" + eval("obj." + prop + blnkt) + "&lt;/td&gt;";
 
                     }
 
                     }
                     tbl += "</tr>";
+
                     tbl += "&lt;/tr&gt;";
 
                 }
 
                 }
                 tbl += "</table>";
+
                 tbl += "&lt;/table&gt;";
 
                 return tbl;
 
                 return tbl;
 
             }
 
             }
 
             gadgets.util.registerOnLoadHandler(request);
 
             gadgets.util.registerOnLoadHandler(request);
         </script>
+
         &lt;/script&gt;
         <div id="viewer_inf"/>
+
         &lt;div id="viewer_inf"/&gt;
       ]]>
+
       ]]&gt;
   </Content>
+
   &lt;/Content&gt;
  </Module>
+
  &lt;/Module&gt;

2020年2月15日 (土) 08:04時点における版

mixi アプリ VIEWERの情報表示

mixi アプリ

閲覧者情報の表示サンプル

0801 mixi app test01.jpg

ソース

重要API

API 概要
newDataRequest コンテナから友だちのデータ、プロフィール、アプリケーション データ、アクティビティなどのソーシャル情報を要求するために使用
http://code.google.com/intl/ja/apis/opensocial/docs/0.8/reference/#opensocial.DataRequest.newFetchPersonRequest] 指定した個人 ID のプロフィールを要求するアイテムを作成。[Person] オブジェクトを返す
<?xml version="1.0" encoding="UTF-8" ?> 
<Module>
  <ModulePrefs title="hello world example">
    <Require feature="opensocial-0.8"/>
  </ModulePrefs> 
  <Content type="html">
     <![CDATA[ 
        <script type="text/javascript">
            // 閲覧者情報取得要求
            function request() {
                var req = opensocial.newDataRequest();
                req.add(req.newFetchPersonRequest("VIEWER"), "viewer_data");
                req.send(response);
            }
            // 閲覧者情報取得応答
            function response(dataResponse) {
                var viewer = dataResponse.get("viewer_data").getData();
                document.getElementById("viewer_inf").innerHTML 
                    = printPropertiesAsTable(viewer, 0);
            }
            // 閲覧者情報表示
            function printPropertiesAsTable(obj, dpth) {
                if (dpth > 5) {
                    return "<b>parse limit over</b>";
                }
                var tbl = "<table border='1'>";
                tbl += "<tr><th>Property</th><th>Type</th><th>Value</th></tr>";
                for (prop in obj) {
                    var type  = typeof(eval("obj." + prop));
                    var blnkt = (type == "function")?"()":""; 
                    tbl += "<tr>";
                    tbl += "<td>" + prop + "</td>";
                    tbl += "<td>" + type + "</td>";
                    if (type == 'object') {
                        tbl += "<td>" + printPropertiesAsTable(eval("obj." + prop), dpth++) + "</td>"; 
                    } else {
                        tbl += "<td>" + eval("obj." + prop + blnkt) + "</td>";
                    }
                    tbl += "</tr>";
                }
                tbl += "</table>";
                return tbl;
            }
            gadgets.util.registerOnLoadHandler(request);
        </script>
        <div id="viewer_inf"/>
     ]]>
  </Content> 
</Module>