Sinatraを使ったAipoアプリをAipoに追加してみた

AipoにAipoアプリを追加することがあったため、やり方を忘れないようにメモを残しておきます。

環境

Aipo端末

 

Aipoアプリを置く端末

 

Aipoアプリを置く端末での作業

Aipoアプリの作成

AipoアプリはOpenSocial準拠なので、Sinatraを使ってxmlを返してみました。

また、xmlの内容は公式で公開されている以下のモノを使いました。
http://developer.aipo.com/apps/gadgetsxml.html
ガジェットXML - ドキュメント|無料グループウェア「アイポ」

 
app.rb

require 'sinatra'

get '/' do
  content_type 'xml'
  erb :api
end

 
views/api.erb

<?xml version="1.0" encoding="UTF-8"?>
<Module>
    <ModulePrefs title="Hello, world!">
        <Require feature="osapi"/>
    </ModulePrefs>
    <Content type="html"><![CDATA[
        Hello, <span id="user"></span>!
        <script type="text/javascript">
            function init() {
                osapi.people.getViewer().execute(function (response) {
                    document.getElementById("user").innerHTML = response.displayName;
                });
            }
            
            gadgets.util.registerOnLoadHandler(init);
        </script>
        ]]>
    </Content>
</Module>

 

Aipoアプリの起動

ローカル以外からもアクセスできるよう、-e オプションを付けて、Sinatraを起動しておきます。

ruby app.rb -e production

 

Aipo端末での作業

AipoにAipoアプリを設定

以下の「ガジェットXMLの準備」を参考にして、「http://:4567」を設定しました。
http://developer.aipo.com/apps/aipoapplidevelopenvironment.html
開発環境の構築 - ドキュメント|無料グループウェア「アイポ」

 

Myページなどでアプリの追加

タブに付いている設定アイコンをクリックして、アプリを追加します。Aipoアプリは以下のような感じで表示されました。