お気に入り | 日本語 | ログイン

opensocial.Activity (v0.7)

 概要     詳細

Class opensocial.Activity

アクティビティの表現です。

アクティビティは、タイトルとアクティビティ ボディ (オプション) によりレンダリングされます。

タイトルとボディは、opensocial.createActivity を呼び出すときに直接、文字列として設定できます。

ただし通常は、タイトルとボディにアクティビティ テンプレートを使ってアクティビティを作成する方が利点があります。アクティビティ テンプレートでは、以下がサポートされています。

  • 国際化
  • メッセージ内の置換変数
  • アクティビティ サマリ (共通要素がある反復アクティビティの要約に使用されるメッセージ バリエーション)

アクティビティ テンプレートは、ガジェットの仕様の中で、メッセージとして定義されています。メッセージを定義するには、サポートする各ロケールについてメッセージ バンドル XML ファイルを作成して参照します。

ガジェット XML のモジュール仕様の例:

<ModulePrefs title="ListenToThis">
  <Locale messages="http://www.listentostuff.com/messages.xml"/>
  <Locale lang="de" messages="http://www.listentostuff.com/messages-DE.xml"/>
</ModulePrefs>

メッセージ バンドルの例:

<messagebundle>
 <msg name="LISTEN_TO_THIS_SONG">
    ${Subject.DisplayName} told ${Owner.DisplayName} to
    listen to a song!
 </msg>
</messagebundle>

アクティビティをポストするときに、キーと値の文字列のカスタム ペアを設定できます。テンプレートで、これらの値が変数に代入されます。

JS 呼び出しの例:

  var owner = ...;
  var viewer = ...;
  var activity = opensocial.newActivity('LISTEN_TO_THIS_SONG',
   {Song: 'Do That There - (Young Einstein hoo-hoo mix)',
    Artist: 'Lyrics Born', Subject: viewer, Owner: owner})

関連付けられたメッセージ:

<msg name="LISTEN_TO_THIS_SONG">
    ${Subject.DisplayName} told ${Owner.DisplayName} to listen
    to ${Song} by ${Artist}
</msg>

アクティビティをポストするときに、個人もキーと値のペアの値として設定できます。このため、ある個人について次のフィールドを参照できます。

  • ${Person.DisplayName} その個人の氏名
  • ${Person.Id} その個人のユーザー ID
  • ${Person.ProfileUrl} その個人のプロフィール URL
  • ${Person} 表示名が表示されます。コンテナによっては、氏名をリンクとして表示するなど特別な形式を適用するオプションがあります。

ユーザーのアクティビティ ストリームには、多数のアクティビティが含まれます。コンテナは、ユーザーに対して表示できるアクティビティをすべて表示するわけではありません。多数のアクティビティを表示できるようにするために、コンテナは、指定されたソースのアクティビティのリストを 1 つのエントリに要約します。

複数のアクティビティが要約されたときに表示されるテキストをカスタマイズするために、アクティビティ サマリを指定できます。カスタマイズを提供しない場合、コンテナは、アクティビティをすべて無視するか、「ボブがステータス メッセージを変更しました。同様のイベントが、他に 20 件あります」などのデフォルトのテキストを表示します。

  • アクティビティ サマリは、常にキーと値のペアにある特定のキーについて要約します。これは、サマリが具体的な内容を伝達するためです (下記の例をご覧ください)。
  • 他の変数は、要約される項目の総数で作成される「Count」合成変数を持ちます。
  • サマリのメッセージ ID は、メイン テンプレートのメッセージ ID、「:」、データ キーをつなげたものです。

サマリの例:

<messagebundle>
  <msg name="LISTEN_TO_THIS_SONG:Artist">
    ${Subject.Count} of your friends have suggested listening to songs
    by ${Artist}!
  </msg>
  <msg name="LISTEN_TO_THIS_SONG:Song">
    ${Subject.Count} of your friends have suggested listening to ${Song}
  !</msg>
  <msg name="LISTEN_TO_THIS_SONG:Subject">
   ${Subject.DisplayName} has recommended ${Song.Count} songs to you.
  </msg>
</messagebundle>

アクティビティ テンプレートで使用できる HTML タグは <b>、<i>、<a>、<span> のみです。コンテナには、アクティビティをレンダリングするときにそれらのタグを除去するオプションもあります。

関連項目: opensocial.newActivity()opensocial.requestCreateActivity()

メソッドの概要

 String getField(key)
指定したキーに関連付けられたアクティビティ データを取得します。
 String getId()
このアクティビティに永久に関連付けることができる ID を取得します。
setField(key, data)
指定したキーに関連付けられたこのアクティビティのデータを設定します。
 

メソッドの詳細

getField

String getField(key)
    指定したキーに関連付けられたアクティビティ データを取得します。
    パラメータ:
      String key - データを取得するキーです。可能な値は Field クラスをご覧ください。
    戻り値:
      String 取得したデータ

getId

String getId()
    このアクティビティに永久に関連付けることができる ID を取得します。
    戻り値:
      String 取得した ID

setField

setField(key, data)
    指定したキーに関連付けられたこのアクティビティのデータを設定します。
    パラメータ:
      String key - データを設定するキーです。
      String data - 設定するデータです。

このドキュメントは JsDoc Toolkit 1.3.3 で生成されました。