ドキュメント

ガジェットXML

ソーシャルアプリは、OpenSocial で規定されているガジェットXMLと呼ばれるXMLフォーマットで記述します。ガジェットXMLには、アプリケーションのタイトルや説明、アプリケーション内で利用する機能、アプリケーションの動作内容など、さまざまな情報を記述することができます。

ガジェット XML のサンプルは以下のようになります。ログインしているユーザー名を表示する簡単なサンプルです。

<?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>
  • ModulePrefs の title 属性でアプリケーションのタイトルを指定します。
  • Require で、利用する機能を指定します。ここでは、osapi と呼ばれる JavaScript API の利用を宣言しています。
  • Content の中身はアプリケーションの処理内容です。HTML と JavaScript で記述されています。

ガジェットXMLのスキーマ定義

ガジェットXMLのスキーマ定義について説明します。原則として OpenSocial 1.0 に準拠していますが、以下に記述された内容以外の項目につきましては、正しく動作しない可能性がありますので何卒ご了承ください。
OpenSocial 1.0 で規定されている仕様については下記をご覧ください。

http://opensocial-resources.googlecode.com/svn/spec/1.0/Core-Gadget.xml

/ModulePrefs

属性 説明 必須/デフォルト
@title アプリケーションのタイトルを入力してください。
Aipoのポートレットのタイトルとして利用されます。
必須
@description アプリケーションの説明文を入力してください。
HTMLタグを利用することはできません。
@height アプリケーションの高さを入力してください。
Content@preferred_height が優先されます。
200

/ModulePrefs/Require

属性 説明 必須/デフォルト
@feature このアプリケーションで利用するフィーチャーを指定します。 必須
/Param@name フィーチャーのパラメータ名を指定します。
/Param/text() アプリケーションの高さを入力してください。
Content@preferred_height が優先されます。

/ModulePrefs/Optional

属性 説明 必須/デフォルト
@feature 利用可能であれば、このアプリケーションで利用するフィーチャーを指定します。 必須
/Param@name フィーチャーのパラメータ名を指定します。
/Param/text() フィーチャーのパラメータ値を指定します。

/ModulePrefs/OAuth

属性 説明 必須/デフォルト
/Service@name OAuth のサービス名を指定します。
JavaScript で呼び出す際の識別子となります。
必須
/Service/Access@url アクセスエンドポイントのURLを指定します。
/Service/Access@method アクセスエンドポイントに対するHTTPメソッドを指定します。
・GET
・POST
"POST"
/Service/Access@param_location アクセスエンドポイントに対するパラメータの格納先を指定します。
・url-query
・auth-header
・post-body
"auth-header"
/Service/Request@url リクエストエンドポイントのURLを指定します。
/Service/Request@method リクエストエンドポイントに対するHTTPメソッドを指定します。
・GET
・POST
"POST"
/Service/Request@param_location リクエストエンドポイントに対するパラメータの格納先を指定します。
・url-query
・auth-header
・post-body
"auth-header"
Service/Authorization@url 認証エンドポイントのURL を指定します。

/ModulePrefs/Icon

属性 説明 必須/デフォルト
text() 16x16px のアイコン画像のURLを指定します。
このアイコンは「更新情報」や「あなた宛のお知らせ」に表示されます。
Aipoの環境がSSLの場合、このURLも https にする必要があります。

/UserPref

属性 説明 必須/デフォルト
@name UserPref のシステム上の名前を指定します。 必須
@display_name UserPref の表示名を指定します。
@datatype UserPref のデータ型を指定します。
・string
・bool
・enum
・hidden
"string"
@default_value UserPref のデフォルト値を指定します。
/EnumValue@value @datatype に enum を選択した場合の選択肢の値を指定します。
/EnumValue@display_value @datatype に enum を選択した場合の選択肢の表示名を指定します。

/Content

属性 説明 必須/デフォルト
@type レンダリングする種別を指定します。
・html
・url
"html"
@view レンダリングする view を指定します。home, canvas, popup が指定できます。
カンマ区切りで複数記入することができます。
@href Content@type="url" を指定した場合に表示したいページの URL を指定します。
@preferred_height アプリケーションの高さを指定します。
ModulePrefs@height よりも優先されます。
text() Content@type="html" を指定した場合にレンダリングする内容を記述します。
HTML/CSS/JavaScript を利用して、処理内容を記述することができます。

利用可能なフィーチャー

ソーシャルアプリで利用可能なフィーチャーは以下のとおりです。

名称 説明
osapi ユーザー情報やグループ情報など、Aipoのリソースにアクセスするための JavaScript API が提供されます。
aipostyle アプリケーションにAipo風のデザインを適用します。
setprefs UserPref を JavaScript から更新できるようになります。
dynamic-height アプリケーションの高さを調整できるようになります。
tabs アプリケーションにタブインターフェースを追加できるようになります。
minimessage アプリケーションに簡易メッセージを表示できるようになります。
flash アプリケーションに Flash を埋め込むことができるようになります。