C WebCenter Portal REST APIの使用

この章のトピックは、次のとおりです:

RESTの概要

REST (REpresentational State Transfer)は、分散されたリソースを共通のインタフェースを介して利用できるようにするためのアーキテクチャ・スタイルです。この共通のインタフェースには、Uniform Resource Identifier (URI)、明確に定義された操作、ハイパーメディア・リンクおよび一連の制約付きメディア・タイプなどがあります。通常、これらの操作には読取り、書込み、編集および削除が含まれ、メディア・タイプにはJSONおよびXML/ATOMが含まれます。

RESTコマンドでは、リクエストとして標準HTTPメソッドを使用して、使用するリソースを指定します。すべてのリクエストは、操作のステータスを含むレスポンスを返します。リクエストによりオブジェクトが取得、作成または更新されると、レスポンスにはそのオブジェクトの標準表現が格納されます。

RESTは、クライアント・マシンからもその他のサーバーからも複数のクライアントをサポートし、どのクライアントまたは開発テクノロジ(Java、JavaScript、Ruby on Rails、PHPなど)からも使用できます。

ヒント:

RESTの概要を理解するには、WikipediaのRepresentational State Transferに関する記事(http://en.wikipedia.org/wiki/Representational_State_Transfer)を参照してください。

RESTは、通常、クライアント側でスクリプトされ、サーバー側アプリケーションからのデータをやり取りする機能が必要なリッチ・インターネット・アプリケーション(RIA)で使用されます。たとえば、WebCenter iPhone AppではWebCenter Portal REST APIを使用して、WebCenter Portalアプリケーションとやり取りします。ネイティブのiPhoneクライアントはObjective-Cで作成されており、REST APIにより、クライアントはアプリケーション・データを送信および取得できます。

ユーザー名ベースのセキュリティ・トークンの暗号化の理解

セキュリティを向上するために、すべてのURIには、hreftemplateのどちらの属性でも、認証ユーザー名に基づくセキュリティ・トークン・パラメータ(utoken)が含まれています。

セキュリティ生成アルゴリズムは、ユーザー名とともにランダムに生成されたsaltを使用します。saltにより、暗号化で使用したパラメータのセキュリティが侵害されても、既存のトークンを無効化し、新しいトークンを生成できます。最も重要なことは、ユーザー・トークンの生成アルゴリズムの一部としてユーザー名が使用されているため、セキュリティ侵害の発生時に、saltにより、すべてのユーザー名を変更しなくて済むことです。

saltは、マップo.webcenter.jf.csf.map内の資格証明ストア・フレームワーク(CSF)にキーuser.token.saltに対して格納されます。このキー(およびトークンの暗号化で使用した他のキー)の値は、Oracle Enterprise ManagerでCSFにアクセスすることによって変更できます。

注意:

暗号化キーの値を変更すると、ユーザー名ベースの既存のすべてのセキュリティ・トークンがただちに無効になります。アルゴリズムのパラメータがセキュリティ侵害された場合など、特別な事情がある場合のみ、これらの値を変更します。

RESTを使用するメリット

RESTおよびRESTfulスタイルのソフトウェア・アーキテクチャのメリットについて、多くの優れた記事が公開されています。このようなメリットの一部を、次に示します。

  • Hypermedia As The Engine Of Application State (HATEOAS)リンクを使用したREST APIへのアクセスは、APIの堅牢性の向上に役立ちます。クライアントはサーバーから返されるURIのみを使用するため、サーバーがURIの形式を変更しても、クライアントは引き続き正しく動作します。「リンク・モデルの理解」も参照してください。

  • 標準のHTTPプロトコルの使用により、ネットワーク・インフラストラクチャは必要に応じてRESTリクエストをキャッシュでき、クライアントとサーバーの両方の負荷が低減されます。「キャッシュの管理」も参照してください。

  • ステートレスなRESTリクエストにより、各リクエストは任意の数の異なるサーバーによって処理され、スケーラビリティに役立ちます。

  • 標準のHTTPプロトコルの使用により、多様なクライアントが、特殊なライブラリを必要とすることなく、REST APIを操作できます。

「WebCenter Portal REST APIの概要」

モバイル・アクセスの有効化に加え、WebCenter Portal REST APIを使用すると、Ajax、JavaScript、JSONなどのWeb 2.0テクノロジを使用して、操作性が高いブラウザベースの対話型ユーザー・インタフェースを作成したり、WebCenter Portalのデータにアクセスおよび変更したりできるようになります。一般に、WebCenter RESTコマンドは、より自然で使いやすい、SOAPスタイルWebサービス・アプローチの代替を提供します。

次の表に、WebCenter Portal: Servicesの機能に対して提供されているOracle WebCenter Portal REST APIを示します。「Oracle WebCenter PortalのREST API」を参照してください

表C-1 REST APIでサポートされるWebCenterツールとサービス機能の一覧

REST API 説明 セクション

コンテンツ管理

Content Management Interoperability Services (CMIS) RESTfulサーバー・バインディングを使用して、Content Management Virtual Content Repository (CM VCR)へのアクセスを提供します。

コンテンツ管理REST APIの使用

イベント

指定されたポータルに関連付けられたカレンダ・イベントにアクセスできます。

「イベントREST APIの使用」

リスト

クライアントが、指定されたポータルに関連付けられたすべてのリストの参照、検索条件によるリスト列の検索、新規リストの作成、リスト行の追加、更新および削除、および同様のリスト関連タスクを実行できます

「リストREST APIの使用」

ピープル・コネクション

クライアントが、プロファイル・データの表示、コネクション・リスト、フィードバックおよびメッセージの管理、ユーザー、リストおよびポータルでの新規アクティビティの作成とアクティビティの表示を実行できます。

ピープル・コネクションREST APIの使用

検索

検索を投稿、確認、更新および削除します。検索のキーワードと範囲を指定できます。たとえば、iPhoneではすべてのポータル、ドキュメントおよびWikiページ内の「smith」を検索できます。

「検索REST APIの使用」

タグ

クライアントが、タグおよびタグ付けしたアイテムをポスト、読取り、更新および削除できます。

「タグREST APIの使用」

WebCenter Portal

クライアントが、ポータル・メタデータの取得、およびポータル・リストとリスト・アイテムの表示、作成、更新および削除を実行できます。開発者はポータル・メンバーシップ情報も取得できます。

Oracle WebCenter PortalのREST API

ノート:

次のURNに対するXSDファイルを示します。

urn:oracle:webcenter:activities:stream -> activitystream.xsd
urn:oracle:webcenter:messageBoard -> wall.xsd
urn:oracle:webcenter:people -> people.xsd
urn:oracle:webcenter:people:invitations -> people.xsd
urn:oracle:webcenter:people:person -> people.xsd

<WCP_ORACLE_HOME>/webcenter/schemas/ディレクトリにあります。

リンク・モデルの理解

ハイパーメディアは、2つの最も成功したWebベースの形式、HTMLとATOMのコアです。HTMLとATOMを使用して、消費者は、たとえば、ニュース記事へのリンクをクリックするなどして、リンクを介して他のハイパーメディア・ドキュメントへ移動できます。

ハイパーメディアは、RESTfulアプリケーションの状態を扱います(HATEOAS: Hypermedia As The Engine Of Application Stateと呼ばれています)。

ノート:

アプリケーションの状態を定義するHATEOASの例え:

お気に入りのブラウザで確定申告しているものとします。ブラウザが機能停止したときには、W-2データの入力を終え、控除へ移動したところでした。失われた状態(控除の画面にいたがまだデータを入力する必要があったという事実)は、入力したw-2データではなく、アプリケーションの状態です(つまり、現在の状態から変更された状態)。

HATEOASによって、この状態(アプリケーションの状態)が完全にハイパーメディアに取得されます。アプリケーションの状態とはアプリケーション内での場所であり、アプリケーションに入力したデータではありません。この方法のメリットの1つは、クライアントとサーバーが自分の状態を意識する必要がないため、単純化されることです。リクエストを処理するために必要なすべての状態情報がリンクに含まれるため、ブラウザが再起動してリンクに戻ったときに、ユーザーは税金プロセスの同じ場所にいます。

RESTfulサービスへの一連の最上位レベルURIエントリ・ポイントがある場合、これらのエントリ・ポイントを超えたすべてのやり取りは、レスポンス形式で返されるハイパーメディア・リンクで行われます。このリンク中心の方法により、クライアントとサーバーURLとの結付きがあまり密接にならずにすみます。クライアントはサーバーから与えられたURLを使用しているため、サーバーURLが形式を変更しても、クライアント・コードが中断することはありません。

このリンク・モデルを理解することで、サービスから返されるデータを使用したREST APIのナビゲーション方法を理解できます。

この項では、WebCenterのRESTfulサービスが使用するハイパーメディア・リンク・モデルについて説明します。次のトピックが含まれています:

リソース索引の使用

WebCenterでは、リソース索引が、すべての認証アクセスの出発点です。リソース索引によって、一連の最上位レベルURIエントリ・ポイントへのアクセスが提供されます。これによって、使用可能なすべてのWebCenter RESTfulサービスへとつながります。リソース索引URIは、理解する必要がある唯一のURIです。

ヒント:

RESTクライアントは、カスタムRESTリクエストの生成に役立ちます。たとえば、Firefox RESTClientアドオンは次の場所で入手できます。

http://restclient.net/

他の類似のRESTクライアントも容易に取得できます。

WebCenterリソース索引URIは、次のとおりです。

http://host:port/rest/api/resourceIndex

ノート:

リソース索引へのアクセスには、常に認証が必要です。ただし、次のURIを使用して、(必要に応じて)CMISリソース・エントリ・ポイントに匿名でアクセスできます。

http://host:port/rest/api/cmis/repository

「CMIS REST APIのセキュリティに関する考慮事項」および「WebCenter Portal REST APIのセキュリティに関する考慮事項」も参照してください。

WebCenter Portal REST APIを使用する最初のステップは、GETリクエストをリソース索引に送信します。レスポンスは、使用可能なサービスとリクエストのメディア・タイプによってそれぞれ異なります。次の例は、JavaScript(および場合によってはDojoなどのクライアント側スクリプト・ライブラリ)を使用してリソース索引のJSONデータを取得するAjaxリクエストを作成した場合のレスポンスを示しています。これは簡略化したサンプル・レスポンスであり、実際のレスポンスに実在するすべてのリンクが含まれているわけではありません。

例: リソース索引へのGETに対するレスポンス

{
  "resourceType": "urn:oracle:webcenter:resourceindex",
  "links": [
    {
      "template": "opaque-template-uri",
      "resourceType": "urn:oracle:webcenter:messageBoard",
      "href": "opaque-uri",
      "capabilities": "urn:oracle:webcenter:read"
    },
    {
      "resourceType": "urn:oracle:webCenter:cmis",
      "href": "opaque-uri",
      "capabilities": "urn:oracle:webcenter:read"
    },
        {
      "resourceType": "urn:oracle:webcenter:resourceindex",
      "rel": "self",
      "href": "http://host:port/rest/api/resourceIndex",
      "capabilities": "urn:oracle:webcenter:read"
    },
    {
      "template": "opaque-template-uri",
      "resourceType": "urn:oracle:webcenter:activities:stream",
      "href": "opaque-uri",
      "capabilities": "urn:oracle:webcenter:read"
    },
    {
      "template": "opaque-template-uri",
      "resourceType": "urn:oracle:webcenter:people:person",
      "capabilities": "urn:oracle:webcenter:read"
    },
    {
      "template": "opaque-template-uri",
      "resourceType": "urn:oracle:webcenter:feedback",
      "href": "opaque-uri",
      "capabilities": "urn:oracle:webcenter:read"
    },
    {
      "template": "opaque-template-uri",
      "resourceType": "urn:oracle:webcenter:spaces",
      "href": "opaque-uri",
      "capabilities": "urn:oracle:webcenter:read"
    },
    {
      "template": "opaque-template-uri",
      "resourceType": "urn:oracle:webcenter:people",
      "href": "opaque-uri",
      "capabilities": "urn:oracle:webcenter:read"
    }
  ]
}

リソース索引データで返されるリンクを調べることによって、使用するリソース・タイプのURIを見つけて、個々のサービスのURIエントリ・ポイントを取得できます。目的の操作を実行できるようになるまで、ハイパーメディア内を移動し続けることが可能です。次の例は、リソース索引のJSONデータに指定されたURIを見つける方法を示しています。

例: リソース索引内の特定のサービスに対するURIの検出

/* Parse the resourceIndex to find the specified URL and
 * return it.
 *
 * @Param jsonData the JSON data retrieved from calling
 *        the /rest/api/resourceIndex URL.
 * @Param strResourceType the resource type of the URL
 *        you want to retrieve from the resourceIndex data.
 *        E.g., 'urn:oracle:webcenter:activities:stream'
 */
function getResourceURL(jsonData, strResourceType)
{
  // Using the HATEOAS model, we browse the returned links
  // looking for the one with the correct resource type.
  for (var i = 0; i < data.links.length; i++) {
    if (data.links[i].resourceType == strResourceType) {
      return data.links[i].href;
    }
  }
}

リンクの構造

ハイパーメディア・リンクのresourceTyperelおよびcapabilities属性は、クライアントがURIを直接解析する必要なく、使用するURI (hrefまたはtemplate)を決定できるようにするメタデータを提供します。URIは不透明で、メタデータによって特定の環境でどのリンクが役立つかが決まります。

次の例は、それぞれXMLドキュメント・フラグメントとしてのハイパーメディア・リンクの構造とJSONドキュメント・フラグメント内のハイパーメディア・リンクの構造を示しています。

例: XMLドキュメント・フラグメント内のリンク

<links>
  <link href="opaque-URI"
        template="opaque-template-URI (optional)"
        rel="rel-name"
        title="human-readable-title (optional)"
        type="media-type (optional)"
        resourceType="resource-type"
        capabilities="operation"/>
  ...repeat as needed...
</links>

例: JSONドキュメント・フラグメント内のリンク

"links": [
  {
    "href":"opaque-URI",
    "template":"opaque-template-URI (optional)",
    "rel":"rel-name",
    "title":"human-readable-title (optional)",
    "type":"media-type (optional)",
    "resourceType":"resource-type",
    "capabilities":"operation"
  },
  ...repeat as needed...
]

複合語のフィールド名、要素名および属性名は、サービス作成者の直接管理下にない仕様に準拠する場合を除いて、キャメル・ケースで書式設定されます。頭字語は、次の各例に示すように、大文字と小文字が必要に応じて調整されて通常の単語として扱われます(fooXmlまたはxmlFooなど)。

例: XMLのネーミング規則

<myElement>text</myElement>

例: JSONのネーミング規則

{"myElement": "text"}

この項では、ハイパーメディア・リンクの様々な属性について説明します。この項の内容は、次のとおりです。

リソース・タイプ

resourceTypeリンク属性は、リンクが指すリソースのタイプを指定します。クライアントは、resourceTypeを使用して、GETPOSTの予期されるレスポンス本文およびPOSTPUTの受入可能なリクエスト本文を決定する必要があります。

詳細は、「HTTPを使用したハイパーメディアのナビゲーション」を参照してください。

リレーションシップ

relリンク属性は、リンク・オブジェクトと現在のオブジェクト(リンクのリストが含まれるオブジェクト)の関係を指定します。この属性の値は、現在サポートされている次の値が空白で区切られたリストです。

  • self - リンク・オブジェクトは現在のオブジェクトです

  • related - リンク・オブジェクトは現在のオブジェクトに関係します

  • via - リンク・オブジェクトは現在のオブジェクトの情報ソースです

  • alternate - リンク・オブジェクトは現在のオブジェクトの代替です(通常、現在のオブジェクトを表示するHTMLページなど、別の形式の同じオブジェクト)

  • urn:oracle:webcenter:parent: リンク・オブジェクトは現在のオブジェクトの親です。つまり、リンク・オブジェクトが現在のオブジェクトを所有します

    ノート:

    一部のWebCenter機能のREST APIによっては、relリンク属性が追加で含まれる場合があります。詳細は、特定の各機能のREST APIに関する説明を参照してください。

権限

capabilitiesリンク属性は、リンク・リソースでサポートされるメソッドを指定します。

クライアントがそのリソースにアクセスできる場合のみ、リンクが返されます。レスポンス形式で返されるリンクでクライアントが実行できる機能は、ユーザー認証の影響を受ける可能性があります。通常、現在の認証ユーザーが実行権限を持ち、リソースがサポートしている機能のみが返されます。

リンクがない場合、クライアントはリソースにアクセスできません。リンクに機能がない場合は、クライアントに返らないため、クライアントにはそのリンクで何かを(読取りさえ)実行する権限がありません。

ハイパーメディア・リンクの機能ベース表現は、クライアントが実行できると予想される操作の範囲を明確に示します。これによって、クライアントは、関連するUIを動的に構成して、最適な全体のユーザーの操作性を提供できます。

この属性の値は、次の値が空白で区切られたリストです。

  • urn:oracle:webcenter:create: HTTP動詞のPOSTにマップします

  • urn:oracle:webcenter:read: HTTP動詞のGETにマップします

  • urn:oracle:webcenter:update: HTTP動詞のPUTにマップします

  • urn:oracle:webcenter:delete: HTTP動詞のDELETEにマップします

ノート:

最上位レベルのresourceIndexリンクは、ユーザーが別の機能で認証されている場合でも、read機能のみを返します。

ノート:

OPTIONSを使用して許可されたHTTP動詞のリソースを問合せると、一般にリソースがサポート可能な動詞が返され、ユーザーのアクセス権は考慮されません。リンクの機能属性は、現在のユーザーが現在のリソースに対して実行できることを正確に示します。OPTIONSは、現在のユーザーに許可されているより多くのHTTP動詞を返すことがあります。

メディア・タイプ

typeリンク属性は、リンク・オブジェクトがサポートするメディア・タイプを指定します。

CMISを除くすべてのRESTサービスは、XML (application/xml)とJSON (application/json)の両メディア・タイプをサポートします。CMISが現在サポートしているのは、ATOMのみです。CMIS REST APIの詳細は、「コンテンツ管理REST APIの使用」を参照してください。

テンプレート

templateリンク属性は、クライアントがhref URIではなくURIテンプレートを使用して、リンク・オブジェクトのパラメータ化した値を提供できることを指定します。リンクは、少なくともhrefまたはtemplate URIを含む必要がありますが、両方を含むこともできます。

一部のハイパーメディア・リンクではリクエスト問合せパラメータがサポートされており、これを使用して、クライアントは異なる方法でリンクを構成できます。クライアントがURI形式を理解し、手動でURIを作成する必要はなく、URIテンプレートが使用されます。これらのテンプレートにより、クライアント・コードでは、URIの動作を正確に理解しなくても、URIにデータを簡単に挿入できます。これによってハイパーメディアURIの不透明性が維持され、URI形式の変更からクライアントが保護されます。

次の例は、様々なリクエスト問合せパラメータを含むURIテンプレートを示しています。

例: URIテンプレート

http://host:port/.../lists?startIndex={startIndex}&itemsPerPage={itemsPerPage}&q={searchTerms}&projection={projection]

WebCenter Portal REST APIでは、多くの業界URIテンプレート・スキームに従う、単純なスロット置換構文を使用します。

たとえば、前述のテンプレートを使用して1ページ目に10リスト・アイテム(デフォルト)を表示するために、次に示すように、クライアントはstartIndexパラメータに値1を、itemsPerPageパラメータに値10を指定します。

例: パラメータ値を含むURIテンプレート

http://host:port.../lists?startIndex=1&itemsPerPage=10

ノート:

テンプレートを使用可能にするには、事前に未使用のパラメータをすべて削除する必要があります。クライアントは未処理のテンプレートを、それを生成したサービスへ送信できない場合があります。送信すると、未定義の動作が生じ、一般にステータス・コード500が返されます。

クライアントは、サーバーに送信する前に、テンプレートを処理して有効なURI形式にする必要があります。クライアントは、スロット・トークンに置き換わる値を正しくURIエンコードして、スロットを適切な値に置換する必要があります。クライアントが、テンプレート内の1つ以上のスロットに対して適切な値を持たない場合は、スロット・トークンを空の文字列で置換する必要があります。

パラメータ値内の特殊文字または予約文字は、URLエンコードする必要があります。たとえば、Günterという名前の人をリストで検索するには、次に示すように、üをURLエンコードする必要があります。

例: URIテンプレート内の特殊文字のエンコード

http://host:port.../lists?q=G%FCnter
共通のリクエスト問合せパラメータ

多くのリソースは、共通のリクエスト問合せパラメータ・セットをサポートしています。たとえば、エンティティのコレクションを取得する場合は、結果の数量または詳細を制限することによって、結果セットの内容を変更することが一般的です。RESTフレームワークでは、次のリクエスト・パラメータを使用して結果の範囲を指定し、セキュリティを提供します。

  • startIndex - 結果セットに含める、最初に一致する結果のインデックスを指定します(0-n ... 0から始まる)。これはページ区切りに使用されます。

  • itemsPerPage - レスポンスで返す結果の最大数を指定します(1-n)。これはページ区切りに使用されます。

  • q - 実装固有の検索を指定します。検索は次の形式で指定できます(角カッコ[]はオプション値を表します)。

    [[field1:[operand]][:]value1[;field2:operand:value2]]
    

    たとえば:

    &q=login:equals:monty
    &q=title:contains:issues
    &q=creator:equals:monty;description:contains:Urgent
    

    各リソースが使用するqパラメータの形式は同じですが、検索の実装方法は、検索対象のリソースによってそれぞれ異なります。各リソースにおける検索の実装方法の詳細は、それぞれのサービスに関する項を参照してください。

  • projection - 変数の再帰深度、フィールドまたは属性のフィルタリングなど、モデル表示の実装固有のプロジェクション用に予約されています。有効な値はsummaryまたはdetailsです。

    たとえば、リストのコレクションに対してsummaryのプロジェクションをリクエストすると、タイトル、説明およびハイパーメディアのリンクのみが返されます。detailsのプロジェクションをリクエストすると、サーバーは、各リストの列メタデータがすべて含まれるリストのコレクションを返します。この場合、処理時間が余分にかかったり、サーバー上でデータベース問合せが必要になることがあります。

    次のリクエストの例では、深いオブジェクト・グラフが含まれるレスポンス・エンティティが返されます。

    http://host:port/...lists&projection=details
    
  • data - このパラメータでは、カンマ区切りのデータ・セットおよびアイテムのリストを使用できます。このパラメータを使用して、クライアントは受け取るデータを指定できます。たとえば、モバイル・デバイス・アプリケーションは、このパラメータを使用して、返されるXMLデータの量を制限できます。projectiondataの両方の問合せ文字列パラメータが存在する場合は、dataパラメータを使用して返すデータを決定します。データ・パラメータとして定数dataを指定すると、リソースに対してすべての標準情報が返されます。

特定のリソースでのこれらのパラメータのサポート方法の詳細は、該当サービスに関する項を参照してください。

itemsハイパーメディアの理解

レスポンスの実際のコンテンツは、itemsのコレクションで構成されています。これは、前述のlinksセクションと同じレベルです。(各レスポンス内の最上位レベル・タグを含めて)各アイテムには、リソース固有のコンテンツと形式に加えて、1つの共通属性(resourceType)があります。resourceTypeの詳細は、特定のサービスに関する項を参照してください。

HTTPを使用したハイパーメディアのナビゲーション

HTMLまたはATOMフィードで参照およびやり取りする場合と同様の方法で、RESTサービス・ハイパーメディアを移動できます。やり取りは、HTTPメソッドを使用して、リンクで識別されるリソースで行われます。RESTサービスは、レスポンス・コードおよびレスポンス本文をクライアントに返し、クライアントはレスポンス内のハイパーメディアを使用してその後のやり取りを行います。

次の表に、不透明なリソースURIの作成時に従う一般的なパターンを示します。resourceTypeは、HTTPメソッドがリソースのコレクションで動作するのか個々のリソースで動作するのかによって異なります。

表C-2 HTTPメソッド

HTTPメソッド リソースのコレクションの場合のレスポンス 個々のリソースの場合のレスポンス

GET

リソース・コレクションのコンテナを返します(200 HTTPレスポンス・コード)

リソースを返します(200 HTTPレスポンス・コード)

PUT

リソースのコレクションを更新できません(405 HTTPレスポンス・コード)

リソースを更新して返します(200 HTTPレスポンス・コード)

POST

コレクション内に新規リソースを作成して返します

ノート: 201または204 HTTPレスポンス・コードを返します。返されるコードは、新規作成されたオブジェクトが、直接アドレス可能であるかどうかによって異なります。たとえば、アクティビティは個別にアドレスを指定できないため、204のコンテンツなしというレスポンス・コードが返されます。

個々のリソース内にリソースを作成できません(405 HTTPレスポンス・コード)

DELETE

リソースのコレクションを削除できません(405 HTTPレスポンス・コード)

リソースを削除します(204 HTTPレスポンス・コード)

コレクション・リソースでは、通常、コレクションの読取り(GET)およびそのコレクションの従属要素の作成(POST)がサポートされます。個々のリソースでは、通常、リソースの読取り(GET)、更新(PUT)および削除(DELETE)がサポートされます。

HTTPレスポンス・ステータス・コード

次の表に、返される可能性があるレスポンス・ステータス・コードを示します。

表C-3 HTTPレスポンス・ステータス・コード

HTTPレスポンス・ステータス・コード 説明

200

OK。GETまたはPUTが正常終了しました。リソース表現がレスポンス本文として伴います。

201

作成されました。POSTが正常終了しました。新しく作成されたリソースのロケーション・ヘッダーを伴います。

204

コンテンツなしまたはコンテンツを返さないリクエスト。たとえば、リンクできないオブジェクトを作成する場合です。DELETEが正常終了しました。

400

不正なリクエスト。URIが不正な形式だったか、処理できませんでした。たとえば、IDが正しく形式化されていなかったか、IDがPOSTのURIに提供されていませんでした。

401

認可されていません。クライアントは、資格証明を送信して再試行できます。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。

403

禁止されています。クライアントには、リソースの作成や削除など、特定のアクションを実行できる権限がありません。同じユーザーとしての再認証は役立ちません。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。

404

見つかりません。IDで特定のリソースを参照しましたが、リソースはありません。

405

使用できないメソッドです。リクエストされたリソースで有効なメソッドのリストが含まれます。

406

受入れできません。クライアントが送信した受入れヘッダー・メディア・タイプは要求された操作でサポートされていません。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。

409

競合。おそらくリソースIDが使用中であるか、またはエンティティが更新時に別のプロセスによって変更されました。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。

422

不正なエンティティ本体。本体内のデータが構文的に正しい場合でも、有効でなかったり、処理できませんでした。たとえば、行を更新する際にデータが無効な場合です。

500

内部サーバー・エラー。サーバーで予期しない状態が発生し、リクエストを処理できませんでした。

501

実装されていません。サーバーでは、リクエストを実行するために必要な機能がサポートされていません。これは、サーバーがリクエスト・メソッドを認識せず、リソースに対してこれをサポートできない場合のレスポンスです。

WebCenter Portal REST APIのセキュリティに関する考慮事項

すべてのWebCenter REST URIは、(保護されているWebページと同様に)保護されているリソースを参照し、アクセスするには認証が必要です。

ノート:

認証アクセス・ルールの1つの例外は、CMISリソースへのアクセスです。CMISリソースは、次のCMIS URIエントリ・ポイントを介して匿名でアクセスできます。

http://host:port/rest/api/cmis/repository

「CMIS REST APIのセキュリティに関する考慮事項」も参照してください。

Basic認証を使用したリクエストによりこの認証に合格するか、またはクライアントとWebCenter RESTサービスがシングル・サインオンを使用するように構成できます。シングル・サインオンの詳細は、『Oracle WebCenter Portalの管理』「SSLの構成」を参照してください。

Basic認証では、ユーザーのパスワードはプレーン・テキストで送信されます。このタイプの認証を使用する場合は、SSLを使用した接続の保護を考慮する必要があります。詳細は、『Oracle WebCenter Portalの管理』「SSLの構成」を参照してください。

セキュリティを向上するために、すべてのURIには、hreftemplateのどちらの属性でも、セキュリティ・トークン・パラメータが含まれています。セキュリティ・トークンはユーザー・スコープです。つまり、認証ユーザーに基づいており、有効範囲は認証ユーザーで、そのユーザーのセッションでブックマークに指定したり、キャッシュしたりできます。このようなセキュリティ・トークンは、クロスサイト・リクエスト・フォージェリ(CSRF)攻撃の回避に役立ちます。

たとえば:

<link
  template="opaque-template-uri/@me?startIndex={startIndex}&itemsPerPage={itemsPerPage}
     &token=generated-token" resourceType="urn:oracle:webcenter:messageBoard"
     href="opaque-uri/@me?token=generated-token" capabilities="urn:oracle:webcenter:read"
/>

ノート:

セキュリティ・トークンは認証にもアイデンティティ伝播にも使用されません。

WebCenter Portal REST APIは、認証ユーザーのアイデンティティに基づいて動作します。たとえば、ポータルのREST APIは、ポータルに関する情報のみを返し、ユーザーがアクセスできるポータルのみを変更できます。

CMIS REST APIのセキュリティに関する考慮事項

CMIS REST APIが使用する認証スキームは、他のWebCenter Portal REST APIが使用するものとは異なります。他のWebCenter Portal REST APIでは、認証されていないアクセスは許可されず、アクセスを許可する前にユーザーに認証を要求しますが、CMIS REST APIでは、認証されていないアクセスでも許可されます。

ドキュメントが認証情報を要求して、その情報を受信しなかった場合(認証されていないユーザーがアクセスしていたため)、404エラーが返されます。これは必ずしもドキュメントが見つからないことを意味するのではなく、(認証されていない)ユーザーがそのドキュメントにアクセスするための適切な権限を持たないことを意味します。リクエストが成功するためには、現在のユーザーを識別するBasic認証ヘッダーが含まれている必要があります。

CMISはContent Management Interoperability Serviceの略であり、エンタープライズ・コンテンツ管理システムの標準のRESTインタフェースです。詳細は、「コンテンツ管理REST APIの使用」を参照してください。

共通タイプの理解

この項では、複数のWebCenter Portal REST APIで共有される共通タイプについて説明します。

共通タイプ

共通タイプは、WebCenter Portal REST APIで使用されるオブジェクトを、一貫性のある方法で参照します。

この項には次のトピックが含まれます:

personReference

これは、システム内のユーザーを表す汎用データ・タイプです。様々なAPIで使用されて、たとえば、メッセージ・ボードやフィードバック・メッセージの作成者またはユーザーの上司や直属の部下を識別します。これは、次の要素で構成されています。

  • guid - ユーザーのGUID

  • id - ユーザーのログインID

  • displayName - ユーザーの表示名

personReferenceには、ユーザーのプロファイル・アイコンへのリンクも含まれています。値(smallmediumまたはlarge)を指定することによって、アイコンのサイズを制御できます。

personReferenceタイプが含まれる場所によっては、生成するレスポンスの関連するREST APIへのリンクを返すこともできます。たとえば、personReferenceタイプが、メッセージ・ボード・レスポンス内の作成者として含まれている場合は、メッセージ・ボード・サービスへのリンクを含みます。

groupSpaceReference

これは、ポータルを表す汎用データ・タイプです。様々なAPIで使用されて、たとえばアクティビティ・ストリーム内では、特定のアクティビティが発生したポータルを識別します。次の要素で構成されています。

  • guid - ポータルのGUID

  • name - ポータルの名前

  • displayName - ポータルの表示名

groupSpaceReferenceには、htmlリンク、restリンクおよびアイコン・リンクも含まれています。

ポータブル連絡先タイプ

ポータブル連絡先タイプによって、Web上でアドレス帳および友人リストにアクセスする標準の手段が提供されます。ポータブル連絡先タイプは、ピープル・コネクション・サービスのプロファイル・コンポーネントが使用します。

ノート:

これらのタイプは、WebCenterのポータル連絡先タイプに基づいています。追加データを含む可能性があります。

この項には次のトピックが含まれます:

nameポータブル連絡先タイプ

これは、ユーザーの名前に関する情報を提供するポータブル連絡先タイプです。これは、次の要素で構成されています。

  • formatted - ユーザーの書式設定されたフル・ネーム、たとえばMichael David Jones Ph.D.

  • familyName - ユーザーの姓、たとえばJones

  • givenName - ユーザーの名、たとえばMichael

  • honorificSuffix - ユーザーの敬称、たとえばEsq.やPh.D.

  • initials - ユーザーの先頭の頭文字、たとえばM. D.

  • maidenName - ユーザーの旧姓

ユーザー・リポジトリ構成およびデータによっては、要素の一部が表示されないことがあります。

addressポータブル連絡先タイプ

これは、ユーザーの住所に関する情報を提供するポータブル連絡先タイプです。これは、次の要素で構成されています。

  • formatted - 書式設定された完全な住所

  • type - 住所のタイプ(たとえば、自宅、会社)

  • streetAddress - 番地

  • poBox - 私書箱番号

  • locality - 市町村

  • region - 都道府県

  • postalCode - 郵便番号

  • country - 国

ユーザー・リポジトリ構成およびデータによっては、要素の一部が表示されないことがあります。

organizationポータブル連絡先タイプ

これは、ユーザーの組織的な所属に関する情報を提供するポータブル連絡先タイプです。次の要素で構成されています。

  • name - 組織の名前

  • employeeNumber - ユーザーの従業員番号

  • employeeType - ユーザーの従業員タイプ。

  • department - ユーザーが所属する組織内の部門

  • defaultGroup - ユーザーが所属するデフォルト・グループ

  • title - 組織内でのユーザーの役職

  • description - 組織内でのユーザーの役割の説明

  • expertise - 組織内でのユーザーの専門

  • startDate - ユーザーが組織に加わった日付

ユーザー・リポジトリ構成およびデータによっては、要素の一部が表示されないことがあります。

valueポータブル連絡先タイプ

これは、多様な連絡先情報のデータが格納される汎用オブジェクトです。これは、次の要素で構成されています。

  • primary - これが、この人に関するこのタイプの情報の主要部分であるかどうかを識別するブール値。主要要素は存在しない場合があり、同じタイプのデータに対して複数の値がある場合のみ関係します。

  • value - このタイプの値

  • type - 情報のタイプ。有効なタイプは次のとおりです。

    • standard: 有効な値はworkhomeother

    • phoneNumber: 有効な値はworkhomefaxpagermobile

    • photos: 有効な値はthumbnail

キャッシュの管理

クライアント側の開発者は、リクエストとレスポンスでHTTPキャッシュ・ヘッダーを処理する方法を理解している必要があります。最終変更日を持つ個々のリソースは、エンティティ・タグも返します。エンティティ・タグを使用すると、特定のエンティティを効率的に取得できます。キャッシュにおけるエンティティ・タグの使用についてさらに学習するには、Hypertext Transfer Protocol仕様を参照してください。

http://www.w3.org/Protocols/

プロキシ・サーバーの構成

この項では、Apacheサーバー上に単純な応答再書込みを行うリバースHTTPプロキシを設定する方法を説明します。プロキシ・サーバーは、通常、ブラウザ・クライアントからのXMLHttpRequest (XHR)コールに関連する、クロスドメイン・リクエストの問題を回避するために使用されます。これらのコールは、通常、多機能な対話型のクライアント側インタフェースを作成する、Ajax開発技術に関係します。REST APIは、通常、このようなクライアント側開発のシナリオで使用されます。

ノート:

この項では、Apacheにプロキシ・サーバーを設定する単純な例を説明します。詳細は、http://httpd.apache.org/docsで入手できるApache Serverドキュメントを参照してください。プロキシ・サーバーに、Oracle HTTP Server (OHS)も使用できます。

Apacheでプロキシ・サーバーを設定する基本的なステップは次のとおりです。

  1. Apacheサーバーへのアクセスを取得します。Apache 2.2.7以降のバージョンをお薦めします。
  2. そのサーバーに、mod_substituteモジュールおよびmod_proxyモジュールがインストールされていることを確認します。Apacheのバージョン2.2.7以降にはmod_substituteがデフォルトで組み込まれていることに注意してください。mod_sedまたはmod_line_editも使用できますが、これらの構成はOracleではサポートされていません。
  3. httpd.confまたは仮想ホスト構成ファイルを開き、次の行を追加し、適切な箇所を使用しているサーバー名またはサーバー情報で置き換えます。
    ProxyRequests           Off
    LoadModule              substitute_module       modules/mod_substitute.so
    SetOutputFilter         SUBSTITUTE
     
    ProxyPass               /rest/api/              http://myhost:8888/rest/api/
    ProxyPassReverse        /rest/api/              http://myhost:8888/rest/api/
    Substitute              s|myhost|yourhost|n
     
    ProxyPass               /pathname/rest/api/        http://myhost:8888/rest/api/
    ProxyPassReverse        /pathname/rest/api/        http://myhost:8888/rest/api/
    Substitute              s|myhost:8888/rest/api|yourhost/pathname/rest/api|n
    

    ノート:

    このシナリオ例では、2つのサーバーがプロキシ設定されます。次の2つのコールは、実際にはこれら2つの異なるサーバーと通信していますが、クライアントからは同じサーバー・ホストと通信しているように見えます。

    http://myhost/rest/api/resourceIndex

    http://myhost/pathname/rest/api/resourceIndex

  4. Apacheサーバーを再起動します。たとえば、Linuxでは次の操作を実行します。
    sudo /etc/init.d/httpd restart
    

一部のLinuxの構成では、この方式によるApacheとのプロキシ設定には、httpdからのアウトバウンド接続を許可するためにSELinuxが必要であることに注意してください。SELinuxのGUI内またはコマンド・ラインを介してhttpd_can_network_connect flagを有効化すると設定できます。

開発者のヒント:

httpd.confUserDir権限を設定して、ユーザーが各自のpublic_htmlディレクトリにこれらのファイルをドロップできるようにします。たとえば、http://host/~yourname/sample.htmlをヒットしてサンプル・アプリケーションにアクセスし、サンプル・アプリケーションでhttp://host/rest/api/resourceIndexをXHRコールします。

コンテンツ管理REST APIの使用

この項は、OASIS CMIS仕様を補完するものであり、コンテンツ管理REST APIの具体的な実装について詳しく説明します。

OASIS CMIS (Content Management Interoperability Service)技術委員会は、Enterprise Content Management (ECM)システムの相互運用性の向上を可能にするWebサービス・インタフェース仕様の標準化を目指して活動しています。詳細は、OASIS CMISサイトを参照してください。

http://www.oasis-open.org/committees/cmis/

まず最初に、すべてのユーザーはOASIS CMIS仕様を確認する必要があります。この項では、Content Management Interoperability Services (CMIS)バージョン1.0を参照しますが、これは次のURLから表示できます。

http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.html

コンテンツ管理REST APIは、CMIS RESTful AtomPubサーバー・バインディングを使用して、アプリケーション内に構成されたOracle Content Serverのリポジトリにアクセスするサーバーを提供します。

この仕様には、ドメイン・モデルと2つのサーバー・バインディングが含まれています。前述のように、コンテンツ管理REST APIによって現在実装されているのは、RESTful AtomPubバインディングのみです。AtomおよびAtomPubはレスポンスのデフォルト・フォーマットであるため、ご使用に際してはこれらを十分理解していることが必要です。

ノート:

CMISは、広範にわたる様々なコンテンツ・システムのための最低限の共通の基準であり、Oracle WebCenter Contentの機能と直接連携していません。利用可能な機能の詳細は、コンテンツ管理REST APIのサービス・ドキュメントを参照してください。

この項には次のトピックが含まれます:

CMISドメイン・モデル

CMIS仕様の2項: 「Domain Model」では、1つ以上のコンテンツ管理リポジトリとともに動作するアプリケーションで使用可能なドメイン・モデルを定義しています。

データ・モデル

コンテンツ管理REST APIのサービス・ドキュメントは、AtomPubワークスペースで構成されています。ワークスペースはそれぞれ、コンテンツ接続にマップされます(コンテンツ管理REST APIでサポートされているのは、Oracle WebCenter Contentリポジトリのみです)。サービス・ドキュメントの詳細は、次項「CMIS第II部: RESTful AtomPubバインディング」を参照してください。

リポジトリ

このリリースでは、2.1.1項にリストされているオプション機能の一部は実装されていません。今後のリリースで、バージョニング、ACL、ポリシー、リレーションシップ、変更ログ、フォルダの下位要素/ツリーおよびレンディションの実装が検討される予定です。

コンテンツ管理REST API実装には、具体的に次のオプション機能があります。

capabilityGetDescendants = true
capabilityGetFolderTree = false 
capabilityContentStreamUpdatability = anytime 
capabilityChanges = none
capabilityRenditions = none 
capabilityMultifiling = false 
capabilityUnfiling = false 
capabilityVersionSpecificFiling = false 
capabilityPWCUpdateable = false 
capabilityPWCSearchable = false 
capabilityAllVersionsSearchable = false 
capabilityJoin = none	
capabilityACL = none
capabilityQuery = none, metadataonly, or both combined
オブジェクト

コンテンツ管理REST APIでは、ドキュメント・オブジェクトおよびフォルダ・オブジェクトがサポートされています。CMISでは、ノードのcmis:baseTypeIdcmis:folderまたはcmis:documentとなります。また、タイプのcmis:baseIdcmis:folderまたはcmis:documentとなります。

オブジェクト型

CMISオブジェクト型には、Oracle WebCenter Content: Content Serverメタデータ・フィールド定義およびOracle WebCenter ContentのSite Studioリージョン定義からマップされたフィールドが含まれています。

Oracle WebCenter Contentメタデータ・フィールドからCMISプロパティ定義へのマッピングは、次のとおりです。

表C-4 Content Serverメタデータのマッピング

Oracle WebCenter Contentメタデータ CMISプロパティ定義

選択リストを検証して構成されたオプション・リスト、およびYesNoViewビューやTrueFalseViewビューを持つTEXTメタデータ・フィールド

cmis:propertyBoolean

他のすべてのTEXTメタデータ・フィールド

cmis:propertyString

LONG TEXTメタデータ・フィールド

cmis:propertyString

MEMOメタデータ・フィールド

cmis:propertyString

INTEGERメタデータ・フィールド

cmis:propertyInteger

DATEメタデータ・フィールド

cmis:propertyDateTime

DECIMALメタデータ・フィールド

cmis:propertyDecimal

Site Studioリージョン定義フィールドからCMISプロパティ定義へのマッピングは、次のとおりです。

表C-5 Site Studioリージョン定義のマッピング

Site Studioリージョン定義 CMISプロパティ定義

イメージ要素定義フィールド

cmis:propertyString

WYSIWYG要素定義フィールド

cmis:propertyString

プレーン・テキスト要素定義フィールド

cmis:propertyString

静的リスト要素定義フィールド

cmis:propertyString

ドキュメント・オブジェクト

ドキュメント・オブジェクトは、リポジトリによって管理される基本的な情報エンティティです。CMIS仕様で定義されているように、ドキュメント・オブジェクトは、バージョニング可能、ファイリング可能、問合せ可能、制御可能およびACLControl可能にすることができます。前述のように、このリリースのコンテンツ管理REST APIでは、バージョニング、マルチファイリング、ポリシーまたはACLをサポートしていません。

あるNodeが FolderではなくDocumentであると判定された場合、その子ノードはCMISを介しては公開されません。CMISでは、各ドキュメント・オブジェクトは1つのコンテンツ・ストリームに関連付けられており、WebCenter CMIS RESTの場合、このストリームは、そのドキュメントに関連付けられたOracle WebCenter Content: Content Serverバイナリです。

フォルダ・オブジェクト

CMIS仕様では、フォルダ・オブジェクトはコンテンツ・ストリームを持たず、バージョニング可能ではありません。ノードがフォルダであると判断された場合、コンテンツ管理REST APIではそのノードをこの方法で公開します。(Oracle WebCenter Contentでは、フォルダはコンテンツ・ストリームを持たず、バージョニング可能ではありません)。

リレーションシップ・オブジェクト

CMIS仕様の第2.1.6項「Relationship Object」は適用できません。このリリースのコンテンツ管理REST APIでは、リレーションシップをサポートしていません。

ポリシー・オブジェクト

CMIS仕様の第2.1.7項「Policy Object」は適用できません。このリリースのコンテンツ管理REST APIでは、ポリシーをサポートしていません。

アクセス制御

CMIS仕様の第2.1.8項「Access Control」のほとんどは適用できません。このリリースのコンテンツ管理REST APIでは、ACLをサポートしていません。許容されるアクションの詳細は、次の項を参照してください。

AllowableActionsマッピング

この項では、オブジェクトに対して定義される許容可能なアクションを一覧表示します。このリリースの実装内容により、すべてのオブジェクトに対してハードコードされているアクションも一部あります。その他の許容可能なアクションは、リポジトリ構成に基づいて設定されます。

  • canGetObjectRelationships = false

  • canCreateRelationship = false

  • canGetDescendants = false

  • canGetFolderTree = false

  • canCheckOut = false (バージョニング)

  • canCancelCheckOut = false (バージョニング)

  • canCheckIn = false (バージョニング)

  • canAddObjectToFolder = false (マルチファイリング)

  • canRemoveObjectFromFolder = false(アンファイリング/マルチファイリング)

  • canApplyPolicy = false

  • canGetAppliedPolicies = false

  • canRemovePolicy = false

  • canCreatePolicy = false

  • canApplyACL = false

  • canGetACL = false

  • canGetRenditions = false

  • canDeleteTree = true

  • canGetAllVersions = false (バージョニング)

バージョニング

CMIS仕様の第2.1.9項「Versioning」は適用できません。このリリースのコンテンツ管理REST APIでは、バージョニングをサポートしていません。

問合せ

CMIS問合せは結果セットを返します。結果セットの各エントリ・オブジェクトには、問合せで指定されたプロパティのみが含められます。コンテンツ管理REST APIでは問合せ内でのJOINをサポートしていないため、各結果エントリは単一ノードからのプロパティを表します。共通の検索では、"SELECT * FROM …"などの問合せが使用されます。

  • FROM句は検索対象のコンテンツ・タイプを指定します。

    • FROM cmis:document ==> 任意のOracle WebCenter Contentドキュメント(たとえば、IDC:GlobalProfile)

    • FROM cmis:folder ==> 任意のOracle WebCenter Contentフォルダ(たとえば、IDC:Folder)

    • FROM typeQueryName ==> タイプが問合せ可能であるかぎり、そのタイプのcmis queryName(たとえば、ora:t:IDC!;GlobalProfile)

  • cmis:document and cmis:folderタイプは常に問合せ可能です。その他のタイプは、リポジトリ内で検索可能であれば問合せ可能です。

  • IN_FOLDER述語は、指定されたフォルダID(結果の親)として実装されます。

  • IN_TREE述語は、指定されたフォルダID(結果のフォルダ構造内の親)として実装されます。

  • CONTAINS() 述語は、フルテキスト問合せ表現の演算子です。

  • cmis:documentおよびcmis:folderのプロパティは、それに対応するOracle WebCenter Contentシステム・プロパティが検索可能かつソート可能であれば、問合せ可能および順序付け可能となります。システム・プロパティは次のようにマッピングされます。

    • cmis:createdBy ==> dDocAuthor

    • cmis:lastModifiedBy ==> dDocCreator

    • cmis:creationDate ==> dCreateDate

    • cmis:lastModificationDate ==> dLastModifiedDate (10gでは、フォルダはdLastModifiedDateにマップされ、ドキュメントはdCreateDateにマップされます)

    • cmis:name ==> dOriginalName(ドキュメント用)またはdCollectionName(フォルダ用)

    • cmis:contentStreamFileName ==> dOriginalName

    • cmis:contentStreamLength ==> VaultFileSize

    • cmis:contentStreamMimeType ==> dFormat

    • cmis:objectId ==> dDocName

    • cmis:objectTypeId ==> Oracle WebCenter Contentプロファイル名またはSiteStudioリージョン定義名

      ノート:

      cmis:objectTypeIdが順序付け可能となることはありません。

    • cmis:path ==> IN_FOLDERまたはIN_TREE述語を使用してください。

    ノート:

    CMIS問合せ内で表示できない機能が含まれるリポジトリもあれば、問合せ内で使用可能なCMIS問合せ述語(または述語の組合せ)が制限されるような制約を持つリポジトリもあります。前述のマッピングを使用して、リポジトリの機能と制約によるCMIS問合せでの考慮事項を確認してください。

  • ネストされたプロパティは、問合せ可能でも順序付け可能でもありません。

  • コンテンツ管理REST APIの実装では、Oracle WebCenter Contentでソート可能と指定されるプロパティが順序付け可能と出力されます。このリストには、実際にはOracle WebCenter Contentでソートできないプロパティが含まれていることがあります。Oracle WebCenter Contentでソート・エラーと出力されるフィールドに対して順序付けを可能にするには、次のステップに従って、指定したOracle WebCenter Contentフィールドをソート可能にします。

    1. 「管理」に移動して、「管理アプレット」を開きます。

    2. Configuration Managerアプレットを開いて、「拡張検索のデザイン」をクリックします。

    3. 順序付け可能にするフィールドを編集し、「ソート可能」を選択します。

    4. 変更内容を保存して「管理」を修了します。

次の表は、具体的な検索の考慮事項と推奨事項を示します。問合せの例は、「コンテンツ管理REST APIのベスト・プラクティスおよび例」を参照してください。

表C-6 検索に関する考慮事項と推奨事項

考慮事項 推奨事項

Oracle WebCenter Contentでは、null値または非null値での問合せに対するサポートが限定的です。

検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。

フォルダの再帰的検索は、Oracle WebCenter Contentではサポートされていませんが、Oracle WebCenter Contentサーバーで右記のように構成されている場合、ドキュメント用にサポートされます。

検索範囲には、ドキュメントのみを含めるようにしてください(select * from cmis:documentのようなselect句を追加してください)。

検索オブジェクト上に検索パスを設定します(where IN_TREE('/StellentRepository/IDC:Folder/2のようなwhere句を追加してください)。

folders_g CollectiveSearchRecursiveContentおよび関連する設定(Oracle WebCenter Content config.cfgファイルのCollectionMaxBranchなど)を構成します。

多値プロパティの演算子はサブストリング・マッチを実行します。これは、ANY <multiValuedQueryName> IN (<literal>, ...)または<literal> = ANY < multiValuedQueryName>に適用されます。Oracle WebCenter Contentでは、オプション・リスト付きのフィールドに値をカンマ区切り形式で格納します。たとえば、A、BおよびCという値がある場合には、「A, B, C」と表現されます。「A, B」に対してANY検索またはANY IN検索を使用すると、このアイテムが見つかります。

検索動作での相違に注意して、必要以上のマッチ数を検出しないようにするために、Configuration Managerアプレット内のOracle WebCenter Contentオプション・リスト・デリミタ文字を変更することを考慮してください。

フォルダ(FROM cmis:folder)の検索時には、各基準に対して最大1つの値を指定できます。より選択的な問合せを実行するために、各基準は他の基準と論理的にANDでつながれたものとみなされます。フォルダの検索時には、ORまたはNOT演算子のサポートはありません。

Oracle WebCenter Contentフォルダ検索では、ORおよびNOTを使用しないでください。

すべてのプロパティが検索可能というわけではなく、検索で検索可能でないプロパティに遭遇した場合はParseExceptionが返されます(400エラー)。

Oracle WebCenter Content Configuration Manager情報フィールドのセクションを調べるか、ContentType定義を確認することで、指定のコンテンツ・タイプに対してどのプロパティが検索可能か理解してください。isSearchableフィールド設定のURLを調べます。

URLの例:

http://myContentServer/idc/idcplg?IdcService=VCR_GET_CONTENT_TYPE&vcrContentType=IDC:Folder&IsSoap=1

または、CMISを介して固有のタイプを調べます。

すべてのContentTypeが検索可能というわけではありません。検索できないContentTypesに対して検索を試みると、例外がスローされます。たとえば、IDC:FileReferenceは検索できません。

すべてのContentTypeが検索可能というわけではないことに注意してください。

String多値プロパティのみ検索可能です。

String以外の多値プロパティ・タイプの検索を指定しないでください。

LONGプロパティにはNOT演算子を使用できません。

サポートされている構文を使用して問合せを再構成してください。

ソート基準は1つしかサポートされていません。

2つ以上のソート基準を使用する検索表現式を記述しないでください。

ソートまたは索引の付いていないフィールドは、結果的に例外となります。

索引の付いていないフィールドで検索を実行すると、たとえば、「DRG-10837: セクションdStatusは存在しません」などの埋込み例外コードで、例外がスローされます。

ソート基準としてそれらを使用する前に、どのフィールドに索引が付けられているのか把握してください。isSortableフィールド設定のURLを調べます。

URLの例: http://myContentServer/idc/idcplg?IdcService=GET_ADVANCED_SEARCH_OPTIONS&IsSoap=1または、CMISでタイプを調べて、プロパティ定義が問合せ可能かどうかを確認します。

検索問合せでは空の値は許可されていません。

cmis:name != ''.のような基準を使用しないでください。

Notequals演算子は非文字列のプロパティではサポートされません。

検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。

同じOracle WebCenter Contentリポジトリでの複数の検索パスはサポートされません。

検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。

ドキュメントの検索時には、Oracle WebCenter Contentが適切に構成されていれば再帰的検索(フォルダ・ツリー検索)がサポートされます。

検索パスが設定されていない場合には、リポジトリ内のすべてのドキュメント(ファイル済と未ファイル分の両方)が検索されます。

コンテンツ・サーバーのfolders_g CollectionSearchRecursiveContentおよび関連する設定(Oracle WebCenter Content config.cfgファイルのCollectionMaxBranchなど)を構成します。これらの設定は、Oracle WebCenter Contentのドキュメントに記載されています。フォルダ・ツリーの範囲に絞ってドキュメント検索を実行するには、IN_TREE述語を使用します。

ドキュメントの検索でLIKE演算子を使用する場合、末尾のパス要素でワイルドカード(%)のみサポートされています。

検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。

ドキュメント(select * from cmis:document)を検索する場合、複数のコンテンツ・タイプに検索を限定することはできません。たとえば、select * from IDC:MyProfile, IDC:AnotherProfileはサポートされません。これは、コンテンツ・タイプが明らかに複数でありJOINSがサポートされていないためです。

検索を複数のコンテンツ・タイプに限定する必要がある場合は、複数の問合せを出して同じ動作を実現します。すべてのタイプを横断的に検索する場合は、select文内でcmis:documentを使用します。

cmis:objectTypeIdが問合せで指定されている場合、Oracle WebCenter Content検索ではORはサポートされません。他のパラメータはこの基準とANDでつながれたものとみなされますが、ORはサポートされません。

この機能が必要がある場合は、複数の問合せを発行して同じ動作を実現します。

cmis:objectTypeId基準は、 ==!=、およびlikeのみサポートしています。!=の使用はフォルダを除外するケースに限られています(select * from cmis:documentの追加と同じ動作になります)。

cmis:objectTypeId基準を使用するときは、有効な演算子に注意します。

問合せは、Oracle WebCenter Content検索エンジンの選択に応じて大文字と小文字を区別する場合があります。

Oracle WebCenter Content検索エンジンの選択は、大文字と小文字を区別するかどうかに影響することがあるので注意してください。メタデータがOracleTextSearchを使用して検索すると、検索エンジンは一般に大文字と小文字を区別しません。メタデータがDATABASE.FULLTEXTを使用して検索すると、検索エンジンは一般に大文字と小文字を区別します。メタデータ・フィールドにより正確な動作が異なることがあります。

サービス

CMIS仕様の第2.2項「Services」で説明されているメソッドは、コンテンツ管理REST APIによって実装されています。具体的な実装の詳細は、「CMIS第II部: RESTful AtomPubバインディング」で説明します。

CMIS第II部: RESTful AtomPubバインディング

CMIS仕様の3項: 「RESTful AtomPub Binding」では、1つ以上のコンテンツ管理リポジトリとともに動作するアプリケーションで使用可能なAtomPubに基づいた仕様を定義しています。RESTサービスはポータル・インスタンスを通して使用できます。

サービス・ドキュメント

リポジトリのナビゲーションはすべて、AtomPubサービス・ドキュメントから開始されます。リポジトリ内のすべてのアクセス可能コンテンツの検出は、このドキュメントからコレクション、リンクおよびテンプレートを介して行うことができます。CMIS Webアプリケーションのコンテキスト・ルートからのサービス・ドキュメントのURIは、/rest/cmis/repositoryです。

したがって、前述の例のようにアプリケーションがlibrary-context-root-overrideとともにデプロイされている場合、サービス・ドキュメントにはhttp://hostname:port/rest/cmis/repositoryというURLを介してアクセスします。

デフォルトでは、このドキュメントにはOracle WebCenter Contentの構成済リポジトリごとにワークスペースが含まれています(Oracle WebCenter PortalのCMIS RESTでは、Oracle WebCenter Contentリポジトリのみがサポートされています)。単一リポジトリのサービス・ドキュメントを取得するには、CMIS AtomPubバインディング仕様の3.6.2.1項で説明されているように、repositoryId問合せパラメータを使用します。

前項で説明したように、サービス・ドキュメントはAtomPubワークスペースから構成されます。各ワークスペースはOracle WebCenter Portalコンテンツ・サーバー接続にマップされます。

ユーザーはサービス・ドキュメントから開始して、予測されたパスを使用してコレクションやリンクにナビゲートすることが想定されるためです。コレクションのリンクとタイトルおよびタイプとの関係はすべてCMIS仕様で定義されているため、一般的にはクライアント実装によるナビゲートが可能です。また、パスによるオブジェクトへのアクセス、IDによるオブジェクトへのアクセス、IDによるタイプへのアクセス、および問合せへのアクセスを簡単に行うためにリポジトリごとに定義されたテンプレートもあります。パスおよびIDのテンプレートでの変数の書式を確認するには、フォルダおよびドキュメントのエントリを参照してください。

レスポンス・フォーマット

CMIS仕様の3.1.3項: 「Response Formats」では、Acceptヘッダー内に表示されているサポート対象のメディア・タイプでオーバーライドされないかぎり、デフォルトでAtom/AtomPubスタイル・フォーマットが返されることが示されています。

一般的なAtomPubフィード・リーダーを使用すると、CMIS RESTサーバーにより返されたフィードをウォークスルーできます。すべてのCMIS詳細が表示されるわけではありませんが、リンクをナビゲートすることはできます。一般に、フィード・リーダーを設定するためには、特定のフィードのURIがわかっている必要があります。このURIは、サービス・ドキュメント(たとえば、typesdescendantsのワークスペース・リンク)をナビゲートすることにより確認できます。

問合せ構文の詳細は、CMIS仕様を参照してください。コンテンツ管理REST APIのベスト・プラクティスおよび例は、「コンテンツ管理REST APIのベスト・プラクティスおよび例」を参照してください。

追加機能

コンテンツ管理REST APIには、CMIS仕様に加えて、次の機能が用意されています。

フォルダの子コレクション

この仕様は、次のCMISサービスを定義します。

  • GET: getChildren

  • POST: createDocumentまたはcreateFolderまたはcreatePolicyまたはmoveObject or addObjectToFolder

コンテンツ管理REST APIには、さらに次のサービスが用意されています。

  • POST: createこのサービスには、uid、fileName、contentId、commentsおよびsimpleResponseという5種類の問合せパラメータと、1つのヘッダー・パラメータSlugが用意されています。これは、簡単なバイナリ・リクエストのアップロードとして使用されることを意図したサービスです。このサービスでは新規ドキュメントが作成されます。SlugおよびfileNameを使用して、リクエストに添付されるバイナリの名前を付けます(両方のパラメータの使用はオプションで、1つのみを定義する必要があります。fileNameが最初にチェックされます)。commentsパラメータはオプションであり、Oracle WebCenter ContentがdDocNameを自動生成するように設定されている場合、contentIdはオプションです。

  • POST: create Content-Type: multipart/form-dataこのサービスには、1つの問合せパラメータuid(ドキュメントが作成されるフォルダのuid)が用意されています。ブール型の問合せパラメータsimpleResponseがfalseに設定されている場合、メディア・タイプapplication/atom+xml;type=entryをレスポンスとして返します。trueに設定されている場合、新しく作成されたドキュメントを指すURIとともに、メディア・タイプtext/htmlがレスポンスとして返されます。commentsパラメータとsimpleResponseパラメータはいずれもオプションであり、Oracle WebCenter ContentがdDocNameを自動生成するように設定されている場合、contentIdはオプションです。また、名前"fileUpload"が必要です。

    <html>
    <head>
        <title>simple post</title>
    </head>
    <body>
    <form action="http://<host>:<port>/rest/api/cmis/children/StellentRepository?uid=IDC:Folder/2"
          method="POST"
          enctype="multipart/form-data">
        Select a document to upload: <input type="file" name="fileUpload"/><br>
         <input type="hidden" name="comments" value="this is just a comment"/>
         <input type="hidden" name="contentId" value="uniqueID1"/>
         <input type="hidden" name="simpleResponse" value="true"/> 
        <input type="submit" value="Submit"/>
    </form>
    </body>
    </html>
ドキュメント・エントリ

この仕様は、次のCMISサービスを定義します。

  • GET: getObject、getObjectOfLatestVersion (getObject)

  • PUT: updateProperties

  • DELETE: deleteObject

コンテンツ管理REST APIには、さらに次のサービスが用意されています。

  • POST: postToDeleteこの新しいサービスには、uidおよび_methodという2つの問合せパラメータが用意されています。ドキュメントはPOSTを介して削除できます。

    http://<host>:<port>/rest/api/cmis/document/repoName?uid=ABC&_method="delete"
コンテンツ・ストリーム

この仕様は、次のCMISサービスを定義します。

  • GET: getContentStream

  • PUT: setContentStream

  • DELETE: deleteContentStream

コンテンツ管理REST APIには、さらに次のサービスが用意されています。

  • POST: postTunnelContentStreamこのサービスには、uid、overwriteFlag、fileName、commentsおよび_methodという5種類の問合せパラメータと、1つのヘッダー・パラメータSlugが用意されています。これは、簡単なバイナリ・リクエストのアップロードまたはPOSTを介した削除として使用されることを意図したサービスです。このサービスには、ドキュメントがすでに存在している必要があります。SlugおよびfileNameを使用して、リクエストに添付されるバイナリの名前を付けます(両方のパラメータの使用はオプションで、1つのみを定義する必要があります。fileNameが最初にチェックされます)。overwriteFlagパラメータは、デフォルトでtrueに設定されています。commentsパラメータはオプションで、_methodの有効な値は"delete"または"put"です(大文字と小文字を区別しません)。

    http://<host>:<port>/rest/api/cmis/stream/repoName?uid=ABC&_method="delete"
    
  • POST: postTunnelContentStream Content-Type: multipart/form-dataこのサービスには、1つの問合せパラメータuidが用意されています。これは、簡単なhtmlのmultipart/form-dataのアップロードまたはPOSTを介した削除として使用することを意図したサービスです。このサービスには、ドキュメントがすでに存在している必要があります。属性名"fileUpload"は必須です。"comments"はオプションで、"_method"の有効な値は"delete"または"put"です(大文字と小文字を区別しません)。

    <form action="http://<host>:<port>/rest/api/cmis/stream/repoName?uid=WDOC019113"
          method="POST"
          enctype="multipart/form-data">
        Select a document to upload: <input type="file" name="fileUpload"/><br>
         <input type="hidden" name="comments" value="this is just a comment"/>
         <input type="hidden" name="_method" value="PUT"/>
        <input type="submit" value="Submit"/>
    </form>

コンテンツ管理REST APIのベスト・プラクティスおよび例

この項では、コンテンツ管理REST APIの使用に関するベスト・プラクティスおよび例を示します。問合せ構文の詳細は、CMIS仕様を参照してください。

この項には次のトピックが含まれます:

ベスト・プラクティス

コンテンツ管理REST APIを使用するリポジトリに対して推奨されるベスト・プラクティスを次に示します。

  • 問合せの"FROM"部分に使用できるタイプを決めるには、AtomPubサービス・ドキュメントからタイプ・コレクションに関する項目を参照してください。タイプは必ず問合せ可能とし、必ずそのタイプの問合せ名を使用するようにする必要があります。

    たとえば、IDC:GlobalProfileは次の例に似たタイプ情報を保持できます。

    <cmis:localName>IDC:GlobalProfile</cmis:localName>            
    <cmis:displayName>IDC:GlobalProfile</cmis:displayName>            
    <cmis:queryName>ora:t:IDC!;GlobalProfile</cmis:queryName>            
    <cmis:queryable>true</cmis:queryable>
    

    前述のタイプ情報に関する問合せの例は、"SELECT * FROM ora:t:IDC!;GlobalProfile"とすることができます。

  • 問合せの"SELECT"および"WHERE"部分に使用できるプロパティを決めるには、関連するタイプのエントリを参照してください。そのタイプのプロパティ定義がそれぞれリストされ、問合せ可能および順序付け可能に対応する設定が用意されます。cmis:querynameがこの問合せで使用できる値です。

    たとえば、IDC:GlobalProfileは次の例に似たプロパティ定義を保持できます。

                 <cmis:propertyStringDefinition>
                   <cmis:id>/stanl18-ucm11g/IDC:GlobalProfile.ora:p:dDocName</cmis:id>
                   <cmis:localName>dDocName</cmis:localName>
                   <cmis:displayName>dDocName</cmis:displayName>
                   <cmis:queryName>ora:p:dDocName</cmis:queryName>
                   <cmis:description>Content ID</cmis:description>
                   <cmis:propertyType>string</cmis:propertyType>
                   <cmis:cardinality>single</cmis:cardinality>
                   <cmis:updatability>readwrite</cmis:updatability>
                   <cmis:inherited>false</cmis:inherited>
                   <cmis:required>false</cmis:required>
                   <cmis:queryable>true</cmis:queryable>
                   <cmis:orderable>true</cmis:orderable>
                 </cmis:propertyStringDefinition>
    

    前述のプロパティ定義に関する問合せの例は、"SELECT ora:p:dDocName FROM ora:t:IDC!;GlobalProfile"とすることができます。

  • 問合せの可読性を高めるために、ContentTypeおよびPropertyDefinitionの名前には英数字以外の文字を使用しないでください。

この項では、問合せの例をいくつか示します。問合せ構文の詳細は、CMIS仕様を参照してください。(問合せのURI全部を取得するには、サービス・ドキュメント内の問合せURIテンプレートを参照してください。)

  • SELECT * from cmis:folder

  • SELECT cmis:name, cmis:contentStreamFileName, cmis:contentStreamMimeType, cmis:contentStreamLength FROM cmis:document WHERE cmis:contentStreamFileName = 'BinaryName' AND cmis:contentStreamMimeType = 'text/html' AND cmis:contentStreamLength > 1

  • SELECT cmis:name, cmis:creationDate, cmis:lastModificationDate FROM cmis:folder WHERE cmis:name = 'Trash' AND cmis:lastModificationDate > TIMESTAMP '2008-05-18T10:32:44.703-06:00'

  • SELECT * FROM cmis:document WHERE cmis:name LIKE 'baker%'

  • SELECT * FROM cmis:document WHERE cmis:name NOT IN ('nodeBoolean', 'nodeLong')

  • SELECT cmis:name from cmis:document where IN_TREE('/StellentRepository')

  • SELECT * FROM ora:t:IDC:GlobalProfile WHERE ora:p:xBooleanTestField = FALSE ORDER BY ora:p:dDocTitle ASC

  • SELECT ora:p:xMultiValuedDelimiterTest FROM ora:t:IDC:GlobalProfile WHERE ANY ora:p:xMultiValuedDelimiterTest NOT IN ('four')

  • SELECT cmis:name FROM ora:t:IDC:GlobalProfile WHERE CONTAINS('test') ORDER BY ora:p:dInDate DESC

  • SELECT * FROM cmis:document where IN_TREE('/StellentRepository/IDC:Folder/2')

「イベントREST APIの使用」

WebCenter Portalには、イベントをサポートするREST APIがあります。REST APIを使用して、ポータル・イベントへのアクセスを提供する独自のインタフェースを作成します。

ノート:

イベントREST APIは、ポータル・イベントでのみ使用できます。REST APIを使用して個人イベントを操作できません。

この項では、イベントに関連するREST APIメソッドについて説明します。次のトピックが含まれています:

イベントのエントリ・ポイント

イベントのエントリ・ポイントには、ポータルを介してのみアクセスできます。まず、適切なポータルに移動して、次のresourceTypeのリンク要素を見つける必要があります。

urn:oracle:webcenter:events:gsEvents

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供されます。クライアントはこのエントリ・ポイントにHTTPリクエストを送信して、イベントを操作します。

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

イベントのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「イベントのリソース・タイプ」の該当の項を参照してください。

イベントの分類は、次のとおりです。

urn:oracle:webcenter:events:gsEvents
  urn:oracle:webcenter:events:gsEvent
urn:oracle:webcenter:events:gsCategories

セキュリティに関する考慮事項

イベントでは、セキュリティに関する特定の考慮事項はありません。一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。

イベントのリソース・タイプ

この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:

urn:oracle:webcenter:events:gsEvents

このリソースを使用して、ポータル・イベントの取得(GET)および作成(POST)に使用するURIを識別します。GET操作からのレスポンスには、このイベント・コレクション内の各ポータル・イベントが含まれており、各イベントには、そのイベントの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このイベント・コレクションに作成されたイベントと、そのイベントを操作するリンクが含まれています。

gsEventsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceIndex
   spaces
      gsEvents
gsEventsでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: <gsCategory>、パラメータ: startIndexitemsPerPageutoken

      これらの共通パラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。

      次の追加パラメータを使用できます。

      • startDate—ポータル・イベントのリストを開始する日付

      • endDateポータル・イベントのリストを終了する日付

      開始日と終了日については、YYYY-MM-DD形式(たとえば2011-09-01)を使用します。時間(たとえば、2011-09-01T09:00:00)とタイムゾーン記号(たとえば、UTCの場合は2011-09-01T09:00:00Z)も指定できます。

    • レスポンス - 本体: 0個以上のイベント

  • POST

    • リクエスト - 本体: イベント

    • レスポンス - 本体: イベント

gsEventsからリンクされるリソース・タイプ

次の表に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-7 gsEventsに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:events:gsEvents

urn:oracle:webcenter:events:gsEvent

このリソース・タイプを使用して、特定のポータル・イベントの読取り(GET)、更新(PUT)または削除(DELETE)に使用するURIを識別します。GET操作からのレスポンスには、URIで識別される特定のイベントが含まれています。PUT操作からのレスポンスには、URIで識別されるイベントの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。

gsEventへのナビゲーション・パス
resourceIndex
   spaces
      gsEvents
         gsEvent
gsEventでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし

    • レスポンス - 本体: イベント

  • PUT

    • リクエスト - 本体: イベント

    • レスポンス - 本体: イベント

  • DELETE

    • リクエスト - 本体: なし

    • レスポンス - 本体: なし

gsEventの書込み可能要素

次の表は、このリソースの書込み可能要素を示しています。

表C-8 gsEventの書込み可能要素

要素 タイプ 必須 制約 説明

category

String

いいえ

ポータルに対して定義されるイベント・カテゴリの名前

イベントが属するカテゴリ。

ノート: カテゴリが存在しない場合は、イベントが作成中であればデフォルトのカテゴリが使用されます。ただし、イベントが変更中の場合はエラーが発生します。

details

String

いいえ

1文字以上の文字

イベントに関する詳細

endTime

Date

はい

YYYY-MM-DDTHH:MM:SS

endTimestartTime以上である必要があります

イベントが終了する日時

location

String

いいえ

1文字以上の文字

イベントが発生する場所

priority

String

いいえ

1 - 最高

2 - 高

3 - 普通

4 - 低

5 - 最低

イベントがクラッシュしたときに表示される場所を決定する、イベントの優先度

startTime

Date

はい

YYYY-MM-DDTHH:MM:SS

イベントが開始する日時

summary

String

はい

1文字以上の文字

イベントのタイトルとしての役割を果たす、イベントの簡単な説明

gsEventの読取り専用要素

次の表は、このリソースの読取り専用要素を示しています。

表C-9 gsEventの読取り専用要素

要素 タイプ 説明

author

personReference

イベントを作成したユーザー

created

Date

イベントが作成された日付

duration

String

イベントの長さ(分単位)

groupSpace

groupSpaceReference

イベントが属するポータル

id

String

イベントの一意のID

isAllDayEvent

Boolean

イベントが一日中行われるかどうか

modified

Date

イベントが最後に更新された日付

modifiedByUser

personReference

イベントを最後に更新したユーザー

gsEventからリンクされるリソース・タイプ

次の表に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-10 gsEventに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:events:gsEvent

urn:oracle:webcenter:events:gsCategories

このリソースを使用して、ポータル・イベント・カテゴリの取得(GET)および作成(POST)に使用するURIを識別します。GET操作からのレスポンスには、このカテゴリ・コレクション内の各カテゴリが含まれており、各カテゴリには、そのカテゴリの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このカテゴリ・コレクションに作成されたカテゴリと、そのカテゴリを操作するリンクが含まれています。

gsCategoriesへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceIndex
   spaces
      gsCategories
gsCategoriesでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: カテゴリ

    • レスポンス - 本体: 0個以上のカテゴリ

  • POST

    • リクエスト - 本体: カテゴリ

    • レスポンス - 本体: カテゴリ

gsCategoriesからリンクされるリソース・タイプ

表C-11に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-11 gsCategoriesに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:events:gsCategories

「リストREST APIの使用」

Oracle WebCenter Portalには、用意されたタスク・フローではなく、インタフェースを介してリスト機能にアクセスできるREST APIがあります。リストREST APIを使用すると、次のアクションを実行できます。

  • ポータル内でのリストの使用。リスト群からのリストの取得、新しいリストの追加などがあります

  • 1つのリストの使用。リスト・メタデータの取得または更新、リストの削除などがあります

  • リスト内の行の使用

  • リスト行の使用。行の取得、更新、削除などがあります

  • 列の使用。列の追加などがあります

  • リスト列の使用。列の取得、更新、削除などがあります

この項では、リストに関連付けられたREST APIメソッドについて説明します。次のトピックが含まれています:

関連項目:

REST APIの概要は、「WebCenter Portal REST APIの概要」を参照してください。

リストのエントリ・ポイント

WebCenter PortalのポータルでリストのRESTエントリ・ポイントを取得するには、特定のポータルを検索してリソース索引を取得します。対応するhrefまたはtemplate要素によって、ポータル内のリストを取得するURIエントリ・ポイントが提供されます。

  1. リストを取得するポータルに移動します。

  2. 次のリソース索引を取得します。

    urn:oracle:webcenter:resourceindex
    
  3. 返されたhrefに移動します。

  4. リソース・タイプを検索します。たとえば、ポータルのすべてのリストを取得するには、次のように検索します。

    urn:oracle:webcenter:space:lists

関連項目:

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

リストのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。リスト・リソース・タイプの分類は、次のとおりです。

urn:oracle:webcenter:space:lists
urn:oracle:webcenter:space:list
   urn:oracle:webcenter:space:list:rows
   urn:oracle:webcenter:space:list:row
   urn:oracle:webcenter:space:list:columns
   urn:oracle:webcenter:space:list:column

リストのセキュリティに関する考慮事項

どのリストREST APIメソッドにアクセスする場合でも、RESTサービスにログインする必要があります。その後、基礎となるサービスによって権限が確認されます。

関連項目:

一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。

リストのリソース・タイプ

この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:

urn:oracle:webcenter:space:lists

listsレスポンスでは、特定のポータル内のリストを取得する方法(GET)およびリストをポータルに追加する方法(POST)が提供されます。この項には次のトピックが含まれます:

listsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してlistsリソースにアクセスする方法を示します。

urn:oracle:webcenter:resourceindex
   urn:oracle:webcenter:spaces
      urn:oracle:webcenter:space:resourceindex
         urn:oracle:webcenter:space:lists
listsでサポートされるメソッド

listsリソース・タイプでは、次のメソッドがサポートされます。

メソッド(lists): GET

このメソッドは、ポータル内のリストを取得します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists?q=name:equals:ProjectIssues&utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • リクエスト・ヘッダー: [Accept = application/xml | application/json]

  • リクエスト・パラメータ - startIndexitemsPerPageqprojection

    • 問合せ用のqパラメータの形式は'q=attribute:operator:value'です。たとえば:

      'q=name:equals:ProjectIssues'
      
      • Stringsでサポートされる演算子: equalsnot.equalscontainsstarts.with

      • Datesでサポートされる演算子: equalsnot.equalsgreater.thangreater.than.or.equalsless.thanless.than.or.equals

      • 複数の条件をセミコロン(;)で区切って指定できます。

  • 検索可能な属性:

    表C-12 listsのGETメソッドで検索可能な属性

    要素 タイプ 説明

    name

    string

    リストの名前

    description

    string

    リストの説明

    creator

    string

    リストを作成したユーザー

    created

    date

    リストが作成された日付

    modifier

    string

    リストを変更したユーザー

    modified

    date

    最後にリストが変更された日付

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <lists>

  • <lists resourceType="urn:oracle:webcenter:space:lists">
       <links>
          <link resourceType="urn:oracle:webcenter:list:lists" 
             rel="self" href="opaque"/>
          <link template="opaque?startIndex={startIndex}&
             itemsPerPage={itemsPerPage}&q={searchTerms}&
             projection={projection}
             &stoken=FDgsOu7a2NTTM1cLJvnpkDXfihtHx5Q*" 
             resourceType="urn:oracle:webcenter:list:lists"/>
       </links>
       <items>
          <list resourceType="urn:oracle:webcenter:space:list">
             <links>
                <link resourceType="urn:oracle:webcenter:list" rel="self" 
                   href="opaque" 
                   capabilities="urn:oracle:webcenter:update 
                   urn:oracle:webcenter:delete"/>
                <link resourceType="urn:oracle:webcenter:list:rows" 
                   href="opaque" 
                   capabilities="urn:oracle:webcenter:create"/>
                <link template="opaque?
                   startIndex={startIndex}&
                   itemsPerPage={itemsPerPage}&q={searchTerms}&
                   stoken=FDgsOu7a2NTTM1cLJvnpkDXfihtHx5Q*" 
                   resourceType="urn:oracle:webcenter:list:rows"/>
                <link resourceType="urn:oracle:webcenter:list:columns" 
                   href="opaque"
                   capabilities="urn:oracle:webcenter:create"/>
             </links>
             <id>/oracle/webcenter/list/scopedMD/
                se0dea180_e2c1_45ac_b08b_
                ba2c0b26aa72/lists/ProjectIssues.xml</id>
             <name>Project Issues</name>
             <description/>
          </list>
       </items>
    </lists>
メソッド(lists): POST

このメソッドは、ポータル内にリストを作成します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本文: <list>

  • 書込み可能要素:

    表C-13 リスト作成の書込み可能要素

    要素 タイプ 制約 説明

    name脚注1

    string

    リストの名前

    description

    string

    リストの説明

    columns脚注2

    urn:oracle:webcenter:space:list:columns

    1から30

    リストの列

    脚注1

    必須要素です

    脚注2

    必須要素です

  • <list>
       <name>RestExample</name>
       <description>Created using rest api</description>
       <columns>
          <items>
             <metaColumn>
                <name>No.</name>
                <dataType>number</dataType>
             </metaColumn>
             <metaColumn>
                <name>Description</name>
                <dataType>string</dataType>
             </metaColumn>
          </items>
       </columns>
    </list>
    
  • リクエスト・ヘッダー: Content-Type = application/xml | application/json, [Accept = application/xml | application/json]

  • レスポンス・ステータス: 201 [Created]

  • レスポンス本文: <list>

  • 取得される要素(表C-14)

    表C-14 listsから取得される要素

    要素 タイプ 説明

    id

    string

    リストのID

    name

    string

    リストの名前

    description

    string

    リストの説明

    scope.guid

    string

    リストが属するポータルのGUID

    scope.name

    string

    リストが属するポータルの名前

    creator

    string

    リストを作成したユーザーの名前

    created

    date

    リストが作成された日付

    modifier

    string

    最後にリストを変更したユーザーの名前

    modified

    date

    最後にリストが変更された日付

    columns

    urn:oracle:webcenter:space:list:columns

    リストの列

  • <list resourceType="urn:oracle:webcenter:space:list">
       <links>
          <link resourceType="urn:oracle:webcenter:space:list" rel="self" 
             href="http://host:port/rest/api/spaces/vs1/
             lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_
             83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:update urn:oracle:webcenter:delete"/>
          <link template="http://host:port
             /rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
             s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_
             417b_a35f_fb03874979c0.xml)/rows?
             utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_
             w**&startIndex={startIndex}&itemsPerPage={itemsPerPage}
             &q={searchTerms}&utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             resourceType="urn:oracle:webcenter:space:list:rows" 
             href="http://host:port/rest/api/spaces/
             vs1/lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_
             83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)/rows?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:create"/>
          <link resourceType="urn:oracle:webcenter:space:list:columns" 
             href="http://host:port/rest/api/spaces/
             vs1/lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_
             83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)/columns?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_
             w**" capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:create"/>
       </links>
       <id>/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_83ad_
          f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_fb03874979c0.xml</id>
       <name>RestExample</name>
       <description>Created using rest api</description>
       <scope>
          <guid>s355923f0_2f04_4fd0_83ad_f7dac2a7ceed</guid>
          <name>vs1</name>
       </scope>
       <creator>weblogic</creator>
       <author>
          <links>
             <link resourceType="urn:oracle:webcenter:people:person" 
                rel="via" href="http://host:port/
                rest/api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/lists/
                @self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="image/png" 
                template="http://host:port/
                webcenter/profilephoto/45394133354538304630424
                33131444642464245304645333339453535423231/{size}?
                _xResourceMethod=wsrp" 
                resourceType="urn:oracle:webcenter:people:person" 
                rel="urn:oracle:webcenter:people:icon" 
                href="http://host:port/webcenter/
                profilephoto/4539413335453830463042433131444642464245304645
                333339453535423231/SMALL?_xResourceMethod=wsrp" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="text/html"
                resourceType="urn:oracle:webcenter:spaces:profile" 
                rel="alternate" href="http://host:port/
                webcenter/faces/oracle/webcenter/webcenterapp/view/pages/
                peopleconn/UserProfileGallery.jspx?wc.username=weblogic" 
                capabilities="urn:oracle:webcenter:read"/>
          </links>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </author>
       <created>2010-11-18T06:10:32.250-08:00</created>
       <modifier>weblogic</modifier>
       <modifiedByUser>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </modifiedByUser>
       <modified>2010-11-18T06:10:32.250-08:00</modified>
       <columns resourceType="urn:oracle:webcenter:space:list:columns">
          <links>
             <link resourceType="urn:oracle:webcenter:space:list:columns" 
                rel="self" 
                href="http://host:port/rest/api/spaces
                /vs1/lists/(/oracle/webcenter/list/scopedMD/
                s355923f0_2f04_4fd0_83ad_
                f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
                fb03874979c0.xml)/columns?utoken=
                FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                capabilities="urn:oracle:webcenter:read 
                urn:oracle:webcenter:create"/>
             <link resourceType="urn:oracle:webcenter:space:list"
                rel="urn:oracle:webcenter:parent" 
                href="http://host:port/
                rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
                s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/
                ls_c9cecbc7_756b_417b_a35f_fb03874979c0.xml)?
                utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**"/>
             </links>
             <items>
                <metaColumn resourceType=
                   "urn:oracle:webcenter:space:list:column">
                   <links>
                      <link resourceType="urn:oracle:webcenter:space:
                         list:column" rel="self 
                         "href="http://host:port/
                         rest/api/spaces/vs1/lists/
                         (/oracle/webcenter/list/scopedMD/
                         s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/
                         lists/ls_c9cecbc7_756b_417b_a35f_
                         fb03874979c0.xml)/columns/
                         (lco_9bdd1418_6004_40ba_a052_04e8335b7ee8)?
                         utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                         capabilities="urn:oracle:webcenter:read 
                         urn:oracle:webcenter:update 
                         urn:oracle:webcenter:delete"/>
                   </links>
                   <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
                   <name>No.</name>
                   <dataType>number</dataType>
                   <required>false</required>
                   <displayLength>10</displayLength>
                   <format>number</format>
                   <allowLinks>false</allowLinks>
                </metaColumn>
                <metaColumn resourceType=
                   "urn:oracle:webcenter:space:list:column">
                   <links>
                      <link resourceType=
                         "urn:oracle:webcenter:space:list:column" 
                         rel="self"
                         href="http://host:port/
                         rest/api/spaces/vs1/lists/(/oracle/
                         webcenter/list/scopedMD/
                         s355923f0_2f04_4fd0_83ad_
                         f7dac2a7ceed/lists/ls_c9cecbc7_756b_
                         417b_a35f_fb03874979c0.xml)/columns/
                         (lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24)?
                         utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                         capabilities="urn:oracle:webcenter:read 
                         urn:oracle:webcenter:update
                         urn:oracle:webcenter:delete"/>
                </links>
                <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
                <name>Description</name>
                <dataType>string</dataType>
                <required>false</required>
                <maxLength>500</maxLength>
                <displayLength>20</displayLength>
                <allowLinks>false</allowLinks>
                <editLines>1</editLines>
             </metaColumn>
          </items>
       </columns>
    </list>
listsからリンクされるリソース・タイプ

次の表に、クライアントがlistsリソースからリンクできるリソース・タイプを示します。

表C-15 listsからリンクされるリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:space:lists

related

urn:oracle:webcenter:space:list

urn:oracle:webcenter:space:list

listレスポンスでは、個々のリストを取得、更新および削除する方法が提供されます。この項には次のトピックが含まれます:

listへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してlistリソースにアクセスする方法を示します。

urn:oracle:webcenter:resourceindex 
   urn:oracle:webcenter:spaces 
      urn:oracle:webcenter:space:resourceindex 
         urn:oracle:webcenter:space:lists 
            urn:oracle:webcenter:space:list 
listでサポートされるメソッド

listリソース・タイプでは、次のメソッドがサポートされます。

メソッド(list): GET

リストを取得するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
    5fb62dc3514d.xml)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • リクエスト・ヘッダー: [Accept = application/xml | application/json]

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <list>

  • 取得される要素:

    表C-16 listで取得される要素

    要素 タイプ 説明

    id

    string

    リストのID

    name

    string

    リストの名前

    description

    string

    リストの説明

    scope.guid

    string

    リストが属するポータルのGUID

    scope.name

    string

    リストが属するポータルの名前

    creator

    string

    リストを作成したユーザー

    created

    Date

    リストが作成された日付

    modifier

    string

    最後にリストを変更したユーザー

    modified

    Date

    リストが最後に変更された日付

    columns

    urn:oracle:webcenter:space:list:columns

    リストを構成する列

  • たとえば:

    <list resourceType="urn:oracle:webcenter:space:list">
       <links>
          <link resourceType="urn:oracle:webcenter:space:list" rel="self" 
             href="http://host:port/rest/api/spaces/vs1/
             lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_83ad_
             f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:update 
             urn:oracle:webcenter:delete"/>
          <link template="http://host:port
             /rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
             s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_
             417b_a35f_fb03874979c0.xml)/rows?
             utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**&
             startIndex={startIndex}&itemsPerPage={itemsPerPage}&q=
             {searchTerms}&utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**"
             resourceType="urn:oracle:webcenter:space:list:rows" 
             href="http://host:port/rest/api/
             spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/s355923f0_
             2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)/rows?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:create"/>
          <link resourceType="urn:oracle:webcenter:space:list:columns" 
             href="http://host:port/rest/api/spaces/
             vs1/lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_
             83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)/columns?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_
             w**" capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:create"/>
       </links>
       <id>/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_83ad_
          f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_fb03874979c0.xml</id>
       <name>RestExample</name>
       <description>Created using rest api</description>
       <scope>
          <guid>s355923f0_2f04_4fd0_83ad_f7dac2a7ceed</guid>
          <name>vs1</name>
       </scope>
       <creator>weblogic</creator>
       <author>
          <links>
             <link resourceType="urn:oracle:webcenter:people:person" 
                rel="via" href="http://host:port/
                rest/api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/lists/
                @self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**"
                capabilities="urn:oracle:webcenter:read"/>
             <link type="image/png"
                template="http://host:port/
                webcenter/profilephoto/4539413335453830463042433131444
                642464245304645333339453535423231/{size}?
                _xResourceMethod=wsrp" 
                resourceType="urn:oracle:webcenter:people:person" 
                rel="urn:oracle:webcenter:people:icon" 
                href="http://host:port/
                webcenter/profilephoto/4539413335453830463042433131444
                642464245304645333339453535423231/SMALL?
                _xResourceMethod=wsrp" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="text/html" 
                resourceType="urn:oracle:webcenter:spaces:profile" 
                rel="alternate" href="http://host:port/
                webcenter/faces/oracle/webcenter/webcenterapp/view/pages/
                peopleconn/UserProfileGallery.jspx?wc.username=weblogic" 
                capabilities="urn:oracle:webcenter:read"/>
          </links>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </author>
       <created>2010-11-18T06:10:32.250-08:00</created>
       <modifier>weblogic</modifier>
       <modifiedByUser>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </modifiedByUser>
       <modified>2010-11-18T06:10:32.250-08:00</modified>
       <columns resourceType="urn:oracle:webcenter:space:list:columns">
          <links>
             <link resourceType="urn:oracle:webcenter:space:list:columns" 
                rel="self" href="http://host:port/
                rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
                s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_
                756b_417b_a35f_fb03874979c0.xml)/
                columns?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                capabilities="urn:oracle:webcenter:read 
                urn:oracle:webcenter:create"/>
             <link resourceType="urn:oracle:webcenter:space:list" 
                rel="urn:oracle:webcenter:parent" 
                href="http://host:port/rest/api/spaces/
                vs1/lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_
                4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
                fb03874979c0.xml)?utoken=
                FKld8lalI3QRdi8TgQkOCGEzxL5x_w**"/>
          </links>
          <items>
             <metaColumn resourceType=
                "urn:oracle:webcenter:space:list:column">
                <links>
                   <link resourceType=
                      "urn:oracle:webcenter:space:list:column" 
                      rel="self" 
                       href="http://host:port/
                      rest/api/spaces/vs1/lists/(/oracle/webcenter/
                      list/scopedMD/s355923f0_2f04_4fd0_83ad_
                      f7dac2a7ceed/lists/ls_c9cecbc7_
                      756b_417b_a35f_fb03874979c0.xml)/columns/(lco_
                      9bdd1418_6004_40ba_a052_04e8335b7ee8)?
                      utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                      capabilities="urn:oracle:webcenter:read 
                      urn:oracle:webcenter:update 
                      urn:oracle:webcenter:delete"/>
                </links>
                <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
                <name>No.</name>
                <dataType>number</dataType>
                <required>false</required>
                <displayLength>10</displayLength>
                <format>number</format>
                <allowLinks>false</allowLinks>
             </metaColumn>
             <metaColumn resourceType=
                "urn:oracle:webcenter:space:list:column">
                <links>
                   <link resourceType=
                      "urn:oracle:webcenter:space:list:column" 
                      rel="self" 
                      href="http://host:port
                      /rest/api/spaces/vs1/lists/(/oracle/webcenter/
                      list/scopedMD/s355923f0_2f04_4fd0_83ad_
                      f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
                      fb03874979c0.xml)/columns/(lco_3a31fd20_24f1_
                      4422_99fd_c00d7bed4b24)?
                      utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                      capabilities="urn:oracle:webcenter:read
                      urn:oracle:webcenter:update                   urn:oracle:webcenter:delete"/>
                </links>
                <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
                <name>Description</name>
                <dataType>string</dataType>
                <required>false</required>
                <maxLength>500</maxLength>
                <displayLength>20</displayLength>
                <allowLinks>false</allowLinks>
                <editLines>1</editLines>
             </metaColumn>
          </items>
       </columns>
    </list>
メソッド(list): PUT

リストの名前または説明を更新するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
    5fb62dc3514d.xml)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本文: <list>

  • listの書込み可能要素(表C-17)

    表C-17 listの書込み可能要素

    要素 タイプ 必須 制約 説明

    name脚注3

    string

    はい

    1文字以上の文字

    このリストの名前

    description

    string

    いいえ

    なし

    このリストの説明

    脚注3

    必須要素です

  • たとえば:

    <list>
       <name>RestExampleUpdate</name>
       <description>Updated using rest api</description>
    </list>
    
  • リクエスト・ヘッダー: Content-Type = application/xml | application/json, [Accept = application/xml | application/json]

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <list>

メソッド(list): DELETE

リストを削除するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
    5fb62dc3514d.xml)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • レスポンス・ステータス: 204 [No Content]

  • レスポンス本体: なし

listからリンクされるリソース・タイプ

表C-18に、クライアントがlistリソースからリンクできるリソース・タイプを示します。

表C-18 listからリンクされるリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:space:list

related

urn:oracle:webcenter:space:list:rows

related

urn:oracle:webcenter:space:list:columns

urn:oracle:webcenter:space:list:rows

rowsレスポンスでは、列をリストから取得またはリストに追加する方法が提供されます。この項には次のトピックが含まれます:

rowsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してrowsリソースにアクセスする方法を示します。

urn:oracle:webcenter:resourceindex
   urn:oracle:webcenter:spaces
      urn:oracle:webcenter:space:resourceindex
         urn:oracle:webcenter:space:lists
            urn:oracle:webcenter:space:list
               urn:oracle:webcenter:space:list:rows
rowsでサポートされるメソッド

rowsリソース・タイプでは、次のメソッドがサポートされます。

  • メソッド(rows): GET

  • メソッド(rows): POST

メソッド(rows): GET

リスト行を取得するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
    5fb62dc3514d.xml)/rows?q=lco_9bdd1418_6004_40ba_a052_
    04e8335b7ee8:equals:2&utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • リクエスト・ヘッダー: [Accept = application/xml | application/json]

  • リクエスト・パラメータ - startIndexitemsPerPageqprojection

    • 問合せ用のqパラメータの形式は'q=columnId:operator:value'です。たとえば:

      'q=lco_9bdd1418_6004_40ba_a052_04e8335b7ee8:equals:2'
      
      • Stringsでサポートされる演算子: equalsnot.equalscontainsstarts.with

      • NumbersDatesでサポートされる演算子: equalsnot.equalsgreater.thangreater.than.or.equalsless.thanless.than.or.equals

      • 複数の条件をセミコロン(;)で区切って指定できます。

  • rowsで検索可能な属性: 行は列の値で検索可能です。

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <rows>

  • たとえば:

    <rows resourceType="urn:oracle:webcenter:space:list:rows">
       <links>
          <link template="http://host:port/
             rest/api/spaces/vs1/lists/(/oracle/webcenter/list/
             scopedMD/s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_
             c9cecbc7_756b_417b_a35f_fb03874979c0.xml)/rows?
             utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**&
             startIndex={startIndex}&itemsPerPage={itemsPerPage}&
             q={searchTerms}&utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             resourceType="urn:oracle:webcenter:space:list:rows" rel="self" 
             href="http://host:port/rest/api/spaces/
             vs1/lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_
             83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)/rows?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:create"/>
          <link resourceType="urn:oracle:webcenter:space:list" 
             rel="urn:oracle:webcenter:parent" 
             href="http://host:port/rest/api/spaces/
             vs1/lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_
             83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**"/>
       </links>
       <itemsPerPage>1</itemsPerPage>
       <startIndex>0</startIndex>
       <items>
          <row resourceType="urn:oracle:webcenter:space:list:row">
             <links>
                <link resourceType="urn:oracle:webcenter:space:list:row" 
                   rel="self" href="http://host:port/
                   rest/api/spaces/vs1/lists/(/oracle/webcenter/list/
                   scopedMD/s355923f0_2f04_4fd0_83ad_
                   f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
                   fb03874979c0.xml)/rows/(lr_a14d427f_8515_4c82_956f_
                   a60e6e08668c)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                   capabilities="urn:oracle:webcenter:read 
                   urn:oracle:webcenter:update 
                   urn:oracle:webcenter:delete"/>
             </links>
             <id>lr_a14d427f_8515_4c82_956f_a60e6e08668c</id>
             <listId>/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_
                83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
                fb03874979c0.xml</listId>
             <scope>s355923f0_2f04_4fd0_83ad_f7dac2a7ceed</scope>
             <creator>weblogic</creator>
             <author>
                <links>
                   <link resourceType=
                      "urn:oracle:webcenter:people:person" 
                      rel="via" 
                      href="http://host:port/
                      rest/api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/
                      lists/@self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_
                      w**" capabilities="urn:oracle:webcenter:read"/>
                   <link type="image/png" 
                      template="http://host:port/
                      webcenter/profilephoto/45394133354538304630424
                      33131444642464245304645333339453535423231/
                      {size}?_xResourceMethod=wsrp" 
                      resourceType="urn:oracle:webcenter:people:person" 
                      rel="urn:oracle:webcenter:people:icon" 
                      href="http://host:port/
                      webcenter/profilephoto/45394133354538304630424
                      33131444642464245304645333339453535423231/SMALL?
                      _xResourceMethod=wsrp" 
                      capabilities="urn:oracle:webcenter:read"/>
                   <link type="text/html" 
                      resourceType="urn:oracle:webcenter:spaces:
                      profile" rel="alternate" 
                      href="http://host:port/
                      webcenter/faces/oracle/webcenter/webcenterapp/
                      view/pages/peopleconn/UserProfileGallery.jspx?
                      wc.username=weblogic" 
                      capabilities="urn:oracle:webcenter:read"/>
                </links>
                <displayName>weblogic</displayName>
                <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
                <id>weblogic</id>
             </author>
             <created>2010-11-18T07:12:06.599-08:00</created>
             <modifier>weblogic</modifier>
             <modifiedByUser>
                <links>
                   <link resourceType=
                      "urn:oracle:webcenter:people:person" rel="via" 
                      href="http://host:port/rest/
                      api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/lists
                      /@self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                      capabilities="urn:oracle:webcenter:read"/>
                   <link type="image/png" 
                      template="http://host:port/
                      webcenter/profilephoto/45394133354538304630424
                      33131444642464245304645333339453535423231/
                      {size}?_xResourceMethod=wsrp" 
                      resourceType="urn:oracle:webcenter:people:person" 
                      rel="urn:oracle:webcenter:people:icon" 
                      href="http://host:port/
                      webcenter/profilephoto/45394133354538304630424
                      33131444642464245304645333339453535423231/SMALL?
                      _xResourceMethod=wsrp" 
                      capabilities="urn:oracle:webcenter:read"/>
                   <link type="text/html" 
                      resourceType="urn:oracle:webcenter:spaces:
                      profile" rel="alternate" 
                      href="http://host:port/
                      webcenter/faces/oracle/webcenter/webcenterapp/
                      view/pages/peopleconn/UserProfileGallery.jspx?
                      wc.username=weblogic" 
                      capabilities="urn:oracle:webcenter:read"/>
                </links>
                <displayName>weblogic</displayName>
                <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
                <id>weblogic</id>
             </modifiedByUser>
             <modified>2010-11-18T07:12:06.599-08:00</modified>
             <columns>
                <column>
                   <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
                   <name>No.</name>
                   <value>1.0</value>
                </column>
                <column>
                   <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
                   <name>Description</name>
                   <value>test</value>
                </column>
             </columns>
          </row>
       </items>
    </rows>
    

メソッド(rows): POST

リスト内に行を作成するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
    5fb62dc3514d.xml)/rows?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本文: <row>

  • 書込み可能要素(表C-19)

    表C-19 rowsの書込み可能要素

    要素 タイプ 制約 説明

    columns.column.id脚注4

    string

    列のID

    columns.column.value脚注5

    string

    列のデータ型として有効な値

    列の値

    脚注4

    必須要素です

    脚注5

    必須要素です

  • たとえば:

    <row>
       <columns>
          <column>
             <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
             <value>1</value>
          </column>
          <column>
             <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
             <value>test</value>
          </column>
       </columns>
    </row>
    
  • リクエスト・ヘッダー: Content-Type = application/xml | application/json, [Accept = application/xml | application/json]

  • レスポンス・ステータス: 201 [Created]

  • レスポンス本文: <row>

  • 取得される要素(表C-20)

    表C-20 rowsで取得される要素

    要素 タイプ 説明

    id

    string

    行のID

    list id

    string

    リストのID

    scope

    string

    リストが属するポータルのGUID

    creator

    string

    リストを作成したユーザー

    created

    date

    リストが作成された日付

    modifier

    string

    最後にリストを変更したユーザー

    modified

    date

    最後にリストが変更された日付

    columns

    列の値

  • たとえば:

    <row resourceType="urn:oracle:webcenter:space:list:row">
       <links>
          <link resourceType="urn:oracle:webcenter:space:list:row" rel="self" 
             href="http://host:port/rest/api/spaces/vs1/
             lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_83ad_
             f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
             5fb62dc3514d.xml)/rows/(lr_4cc07327_49cb_4cd5_a270_
             182ddcc8db4a)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:update urn:oracle:webcenter:delete"/>
       </links>
       <id>lr_4cc07327_49cb_4cd5_a270_182ddcc8db4a</id>
       <listId>/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_83ad_
          f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
          5fb62dc3514d.xml</listId>
       <scope>s355923f0_2f04_4fd0_83ad_f7dac2a7ceed</scope>
       <creator>weblogic</creator>
       <author>
          <links>
             <link resourceType="urn:oracle:webcenter:people:person" 
                rel="via" href="http://host:port
                /rest/api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/lists/
                @self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="image/png" 
                template="http://host:port/
                webcenter/profilephoto/4539413335453830463042433131
                444642464245304645333339453535423231/{size}?
                _xResourceMethod=wsrp" 
                resourceType="urn:oracle:webcenter:people:person" 
                rel="urn:oracle:webcenter:people:icon" 
                href="http://host:port/webcenter/
                profilephoto/453941333545383046304243313144464246424530
                4645333339453535423231/SMALL?_xResourceMethod=wsrp" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="text/html" 
                resourceType="urn:oracle:webcenter:spaces:profile" 
                rel="alternate" href="http://host:port/
                webcenter/faces/oracle/webcenter/webcenterapp/view/pages/
                peopleconn/UserProfileGallery.jspx?wc.username=weblogic" 
                capabilities="urn:oracle:webcenter:read"/>
          </links>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </author>
       <created>2010-11-17T06:34:25.042-08:00</created>
       <modifier>weblogic</modifier>
       <modifiedByUser>
          <links>
             <link resourceType="urn:oracle:webcenter:people:person" 
                rel="via" href="http://host:port/
                rest/api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/lists/
                @self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="image/png" 
                template="http://host:port/
                webcenter/profilephoto/4539413335453830463042433131
                444642464245304645333339453535423231/{size}?
                _xResourceMethod=wsrp" 
                resourceType="urn:oracle:webcenter:people:person" 
                rel="urn:oracle:webcenter:people:icon" 
                href="http://host:port/webcenter/
                profilephoto/453941333545383046304243313144464246424530
                4645333339453535423231/SMALL?_xResourceMethod=wsrp" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="text/html" 
                resourceType="urn:oracle:webcenter:spaces:profile" 
                rel="alternate" href="http://host:port/
                webcenter/faces/oracle/webcenter/webcenterapp/view/pages/
                peopleconn/UserProfileGallery.jspx?wc.username=weblogic" 
                capabilities="urn:oracle:webcenter:read"/>
          </links>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </modifiedByUser>
          <modified>2010-11-17T06:34:25.042-08:00</modified>
       <columns>
          <column>
             <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
             <name>No.</name>
             <value>1.0</value>
          </column>
          <column>
             <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
             <name>Description</name>
             <value>test</value>
          </column>
       </columns>
    </row>
rowsからリンクされるリソース・タイプ

表C-21に、クライアントがrowsリソースからリンクできるリソース・タイプを示します。

表C-21 rowsからリンクされるリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:space:list.rows

parent

urn:oracle:webcenter:space:list

related

urn:oracle:webcenter:space:list:row

urn:oracle:webcenter:space:list:row

rowレスポンスでは、個々のリスト行を取得、追加および削除する方法が提供されます。この項には次のトピックが含まれます:

rowへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してrowリソースにアクセスする方法を示します。

urn:oracle:webcenter:resourceindex
   urn:oracle:webcenter:spaces
      urn:oracle:webcenter:space:resourceindex
         urn:oracle:webcenter:space:lists
            urn:oracle:webcenter:space:list
               urn:oracle:webcenter:space:list:rows
                  urn:oracle:webcenter:space:list:row
rowでサポートされるメソッド

rowリソース・タイプでは、次のメソッドがサポートされます。

メソッド(row): GET

リスト行からデータを取得するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/rows/(lr_a14d427f_8515_4c82_956f_
    a60e6e08668c)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • リクエスト・ヘッダー: [Accept = application/xml | application/json]

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <row>

  • 取得される要素(表C-22)

    表C-22 rowで取得される要素

    要素 タイプ 説明

    id

    string

    行のID

    listId

    string

    親リストのID

    scope

    string

    リストが属するポータルのGUID

    creator

    string

    行を作成したユーザー

    created

    Date

    行が作成された日付

    modifier

    string

    最後に行を変更したユーザー

    modified

    Date

    最後に行が変更された日付

    columns

    urn:oracle:webcenter:space:list:columns

    列の値

  • たとえば:

    <row resourceType="urn:oracle:webcenter:space:list:row">
       <links>
          <link resourceType="urn:oracle:webcenter:space:list:row" 
             rel="self" href="http://host:port/
             rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD
             /s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_bb806754_0652_
             4d49_9354_5fb62dc3514d.xml)/rows/(lr_4cc07327_49cb_4cd5_a270_
             182ddcc8db4a)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:update urn:oracle:webcenter:delete"/>
       </links>
       <id>lr_4cc07327_49cb_4cd5_a270_182ddcc8db4a</id>
       <listId>/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_83ad_
          f7dac2a7ceed/lists/ls_bb806754_0652_4d49_9354_
          5fb62dc3514d.xml</listId>
       <scope>s355923f0_2f04_4fd0_83ad_f7dac2a7ceed</scope>
       <creator>weblogic</creator>
       <author>
          <links>
             <link resourceType="urn:oracle:webcenter:people:person" 
                rel="via" href="http://host:port/
                rest/api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/lists/
                @self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="image/png" 
                template="http://host:port/webcenter/
                profilephoto/453941333545383046304243313144464246424530
                4645333339453535423231/{size}?_xResourceMethod=wsrp" 
                resourceType="urn:oracle:webcenter:people:person" 
                rel="urn:oracle:webcenter:people:icon" 
                href="http://host:port/webcenter/
                profilephoto/453941333545383046304243313144464246424530
                4645333339453535423231/SMALL?_xResourceMethod=wsrp" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="text/html" 
                resourceType="urn:oracle:webcenter:spaces:profile" 
                rel="alternate" href="http://host:port/
                webcenter/faces/oracle/webcenter/webcenterapp/view/pages/
                peopleconn/UserProfileGallery.jspx?wc.username=weblogic" 
                capabilities="urn:oracle:webcenter:read"/>
          </links>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </author>
       <created>2010-11-17T06:34:25.042-08:00</created>
       <modifier>weblogic</modifier>
       <modifiedByUser>
          <links>
             <link resourceType="urn:oracle:webcenter:people:person" 
                rel="via" href="http://host:port/
                rest/api/people/E9A35E80F0BC11DFBFBE0FE339E55B21/lists/
                @self?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="image/png" 
                template="http://host:port/webcenter/
                profilephoto/453941333545383046304243313144464246424530
                4645333339453535423231/{size}?_xResourceMethod=wsrp" 
                resourceType="urn:oracle:webcenter:people:person" 
                rel="urn:oracle:webcenter:people:icon" 
                href="http://host:port/webcenter/
                profilephoto/453941333545383046304243313144464246424530
                4645333339453535423231/SMALL?_xResourceMethod=wsrp" 
                capabilities="urn:oracle:webcenter:read"/>
             <link type="text/html" 
                resourceType="urn:oracle:webcenter:spaces:profile" 
                rel="alternate" href="http://host:port/
                webcenter/faces/oracle/webcenter/webcenterapp/view/pages/
                peopleconn/UserProfileGallery.jspx?wc.username=weblogic" 
                capabilities="urn:oracle:webcenter:read"/>
          </links>
          <displayName>weblogic</displayName>
          <guid>E9A35E80F0BC11DFBFBE0FE339E55B21</guid>
          <id>weblogic</id>
       </modifiedByUser>
       <modified>2010-11-17T06:34:25.042-08:00</modified>
       <columns>
          <column>
             <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
             <name>No.</name>
             <value>1.0</value>
          </column>
          <column>
             <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
             <name>Description</name>
             <value>test</value>
          </column>
       </columns>
    </row>
メソッド(row): PUT

行のデータを更新するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/rows/(lr_a14d427f_8515_4c82_956f_
    a60e6e08668c)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本文: <row>

  • 書込み可能要素(表C-23)

    表C-23 rowの書込み可能要素

    要素 タイプ 制約 説明

    columns.column.id脚注6

    string

    列のID

    columns.column.value脚注7

    string

    列のデータ型として有効な値

    列の値

    脚注6

    必須要素です

    脚注7

    必須要素です

  • たとえば:

    <row>
       <columns>
          <column>
             <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
             <value>1</value>
          </column>
          <column>
             <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
             <value>test</value>
          </column>
       </columns>
    </row>
    
  • リクエスト・ヘッダー: Content-Type = application/xml | application/json, [Accept = application/xml | application/json]

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <row>

メソッド(row): DELETE

リスト行を削除するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/rows/(lr_a14d427f_8515_4c82_956f_
    a60e6e08668c)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • レスポンス・ステータス: 204 [No Content]

  • レスポンス本体: なし

rowからリンクされるリソース・タイプ

表C-24に、クライアントがrowリソースからリンクできるリソース・タイプを示します。

表C-24 rowからリンクされるリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:space:list:row

urn:oracle:webcenter:space:list:columns

columnsレスポンスでは、リスト列を取得または追加する方法が提供されます。この項には次のトピックが含まれます:

columnsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してcolumnsリソースにアクセスする方法を示します。

urn:oracle:webcenter:resourceindex
   urn:oracle:webcenter:spaces
      urn:oracle:webcenter:space:resourceindex
         urn:oracle:webcenter:space:lists
            urn:oracle:webcenter:space:list
               urn:oracle:webcenter:space:list:columns
columnsでサポートされるメソッド

columnsリソース・タイプでは、次のメソッドがサポートされます。

メソッド(columns): GET

リスト内の列を取得するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/columns?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • リクエスト・ヘッダー: [Accept = application/xml | application/json]

  • リクエスト・パラメータ: なし

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <metaColumns>

  • たとえば:

    <metaColumns resourceType="urn:oracle:webcenter:space:list:columns">
       <links>
          <link resourceType="urn:oracle:webcenter:space:list:columns" 
             rel="self" href="http://host:port/
             rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
             s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_
             417b_a35f_fb03874979c0.xml)/columns?
             utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:create"/>
          <link resourceType="urn:oracle:webcenter:space:list" 
             rel="urn:oracle:webcenter:parent" 
             href="http://host:port/rest/api/spaces/vs1/
             lists/(/oracle/webcenter/list/scopedMD/s355923f0_2f04_4fd0_83ad_
             f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
             fb03874979c0.xml)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**"/>
       </links>
       <items>
          <metaColumn resourceType="urn:oracle:webcenter:space:list:column">
             <links>
                <link resourceType="urn:oracle:webcenter:space:list:column" 
                   rel="self" href="http://host:port/
                   rest/api/spaces/vs1/lists/(/oracle/webcenter/list/
                   scopedMD/s355923f0_2f04_4fd0_83ad_
                   f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
                   fb03874979c0.xml)/columns/(lco_9bdd1418_6004_40ba_
                   a052_04e8335b7ee8)?
                   utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                   capabilities="urn:oracle:webcenter:read 
                   urn:oracle:webcenter:update 
                   urn:oracle:webcenter:delete"/>
             </links>
             <id>lco_9bdd1418_6004_40ba_a052_04e8335b7ee8</id>
             <name>No.</name>
             <dataType>number</dataType>
             <required>false</required>
             <displayLength>10</displayLength>
             <format>number</format>
             <allowLinks>false</allowLinks>
          </metaColumn>
          <metaColumn resourceType="urn:oracle:webcenter:space:list:column">
             <links>
                <link resourceType="urn:oracle:webcenter:space:list:column" 
                   rel="self" href="http://host:port/
                   rest/api/spaces/vs1/lists/(/oracle/webcenter/list/
                   scopedMD/s355923f0_2f04_4fd0_83ad_
                   f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
                   fb03874979c0.xml)/columns/(lco_3a31fd20_24f1_4422_
                   99fd_c00d7bed4b24)?
                   utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
                   capabilities="urn:oracle:webcenter:read 
                   urn:oracle:webcenter:update 
                   urn:oracle:webcenter:delete"/>
             </links>
             <id>lco_3a31fd20_24f1_4422_99fd_c00d7bed4b24</id>
             <name>Description</name>
             <dataType>string</dataType>
             <required>false</required>
             <maxLength>500</maxLength>
             <displayLength>20</displayLength>
             <allowLinks>false</allowLinks>
             <editLines>1</editLines>
          </metaColumn>
       </items>
    </metaColumns>
メソッド(columns): POST

リスト内に列を作成するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/columns?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本文: <metaColumn>

  • 書込み可能要素(表C-25)

    表C-25 columnsの書込み可能要素

    要素 タイプ 制約 説明

    name脚注8

    string

    列の名前。

    dataType脚注9

    string

    • string

    • number

    • datetime

    • boolean

    • person

    • image

    • richtext

    列のデータ型

    required

    boolean

    • true

    • false

    列の値が必須かどうか

    defaultValue

    列のデータ型

    オブジェクトがデータ型と一致する必要がある

    列のデフォルト値

    maxLength

    int

    stringデータ型でのみ有効

    文字列値の最大長

    rangeLow

    int

    numberデータ型でのみ有効

    numberデータ型の範囲の最小値

    rangeHigh

    int

    numberデータ型でのみ有効

    numberデータ型の範囲の最大値

    format

    string

    次のnumberデータ型:

    • number

    • currency

    • percent

    次のdatetimeデータ型:

    • date

    • time

    • both

    列の形式

    allowLinks

    boolean

    • true

    • false

    stringデータ型でのみ有効

    ハイパーリンクを列の値に指定できるかどうか

    linkTarget

    string

    • _blank

    • _self

    allowLinks=trueの場合のみ有効

    _blankはリンクを新しいウィンドウに開き、_selfはリンクを同じウィンドウ内に開きます

    editLines

    int

    stringデータ型でのみ有効

    列値を編集する際の行数(デフォルトは1)

    peopleScope

    string

    • GLOBAL

    • SUB_SCOPE

    personデータ型でのみ有効

    ディレクトリ内のすべてのユーザーを有効とするか、あるいはリストを含むポータルのメンバーを有効とするか

    displayWidth

    int

    列のピクセル単位での表示幅

    hint

    string

    列値を入力する際にユーザーに表示されるヒント

    脚注8

    必須要素です

    脚注9

    必須要素です

  • たとえば:

    <metaColumn>
       <name>Notes</name>
       <dataType>richtext</dataType>
    </metaColumn
    
  • リクエスト・ヘッダー: Content-Type = application/xml | application/json, [Accept = application/xml | application/json]

  • レスポンス・ステータス: 201 [Created]

  • レスポンス本文: <metaColumn>

  • 取得される要素(表C-26)

    表C-26 columnsから取得される要素

    要素 タイプ 説明

    id

    string

    列のID

    name

    string

    列の名前。

    dataType

    string

    列のデータ型

    required

    boolean

    列の値が必須かどうか

    defaultValue

    列のデータ型

    列のデフォルト値

    maxLength

    int

    文字列値の最大長

    rangeLow

    int

    numberデータ型の範囲の最小値

    rangeHigh

    int

    numberデータ型の範囲の最大値

    format

    string

    列の形式

    allowLinks

    boolean

    ハイパーリンクを列の値に指定できるかどうか

    linkTarget

    string

    _blankはリンクを新しいウィンドウに開き、_selfはリンクを同じウィンドウ内に開きます

    editLines

    int

    列値を編集する際の行数(デフォルトは1)

    peopleScope

    string

    ディレクトリ内のすべてのユーザーを有効とするか、あるいはリストを含むポータルのメンバーを有効とするか

    displayWidth

    int

    列のピクセル単位での表示幅

    hint

    string

    列値を入力する際にユーザーに表示されるヒント

  • たとえば:

    <metaColumn resourceType="urn:oracle:webcenter:space:list:column">
       <links>
          <link resourceType="urn:oracle:webcenter:space:list:column" 
             rel="self" href="http://host:port/
             rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
             s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/
             ls_c9cecbc7_756b_417b_a35f_fb03874979c0.xml)/columns/
             (lco_fe2b9856_32f3_449a_a277_18dc7f6a779e)?
             utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:update urn:oracle:webcenter:delete"/>
       </links>
       <id>lco_fe2b9856_32f3_449a_a277_18dc7f6a779e</id>
       <name>Notes</name>
       <dataType>richtext</dataType>
       <required>false</required>
       <displayLength>20</displayLength>
       <allowLinks>false</allowLinks>
    </metaColumn>
columnsからリンクされるリソース・タイプ

表C-27に、クライアントがcolumnsリソースからリンクできるリソース・タイプを示します。

表C-27 columnsからリンクされるリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:space:list.columns

parent

urn:oracle:webcenter:space:list

related

urn:oracle:webcenter:space:list:column

urn:oracle:webcenter:space:list:column

columnレスポンスでは、個々のリスト列を取得、追加および削除する方法が提供されます。この項には次のトピックが含まれます:

columnへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してcolumnリソースにアクセスする方法を示します。

urn:oracle:webcenter:resourceindex
   urn:oracle:webcenter:spaces
      urn:oracle:webcenter:space:resourceindex
         urn:oracle:webcenter:space:lists
            urn:oracle:webcenter:space:list
               urn:oracle:webcenter:space:list:columns
                  urn:oracle:webcenter:space:list:column
columnでサポートされるメソッド

columnリソース・タイプでは、次のメソッドがサポートされます。

  • メソッド(column): GET

  • メソッド(column): PUT

  • メソッド(column): DELETE

メソッド(column): GET

リスト列を取得するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/columns/(lco_fe2b9856_32f3_449a_a277_
    18dc7f6a779e)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • リクエスト・ヘッダー: [Accept = application/xml | application/json]

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <metaColumn>

  • 取得される要素(表C-28)

    表C-28 columnで取得される要素

    要素 タイプ 説明

    id

    string

    列のID

    name

    string

    列の名前。

    dataType

    string

    列のデータ型

    required

    boolean

    列の値が必須かどうか

    defaultValue

    列のデータ型

    列のデフォルト値

    maxLength

    int

    文字列値の最大長

    rangeLow

    int

    numberデータ型の範囲の最小値

    rangeHigh

    int

    numberデータ型の範囲の最大値

    format

    string

    列の形式

    allowLinks

    boolean

    ハイパーリンクを列の値に指定できるかどうか

    linkTarget

    string

    _blankはリンクを新しいウィンドウに開き、_selfはリンクを同じウィンドウ内に開きます

    editLines

    int

    列値を編集する際の行数(デフォルトは1)

    peopleScope

    string

    ディレクトリ内のすべてのユーザーを有効とするか、あるいはリストを含むポータルのメンバーを有効とするか

    displayWidth

    int

    列のピクセル単位での表示幅

    hint

    string

    列値を入力する際にユーザーに表示されるヒント

  • たとえば:

    <metaColumn resourceType="urn:oracle:webcenter:space:list:column">
       <links>
          <link resourceType="urn:oracle:webcenter:space:list:column" 
             rel="self" href="http://host:port/
             rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
             s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/
             ls_c9cecbc7_756b_417b_a35f_fb03874979c0.xml)/
             columns/(lco_fe2b9856_32f3_449a_a277_18dc7f6a779e)?
             utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**" 
             capabilities="urn:oracle:webcenter:read 
             urn:oracle:webcenter:update urn:oracle:webcenter:delete"/>
       </links>
       <id>lco_fe2b9856_32f3_449a_a277_18dc7f6a779e</id>
       <name>Notes</name>
       <dataType>richtext</dataType>
       <required>false</required>
       <displayLength>20</displayLength>
       <allowLinks>false</allowLinks>
    </metaColumn>
    

メソッド(column): PUT

列のデータを更新するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/columns/(lco_fe2b9856_32f3_449a_a277_
    18dc7f6a779e)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本文: <metacolumn>

  • 書込み可能要素(表C-29)

    表C-29 columnの書込み可能要素

    要素 タイプ 制約 説明

    name脚注10

    string

    列の名前。

    dataType脚注11

    string

    • string

    • number

    • datetime

    • boolean

    • person

    • image

    • richtext

    列のデータ型

    required

    boolean

    • true

    • false

    列の値が必須かどうか

    defaultValue

    列のデータ型

    オブジェクトがデータ型と一致する必要がある

    列のデフォルト値

    maxLength

    int

    stringデータ型でのみ有効

    文字列値の最大長

    rangeLow

    int

    numberデータ型でのみ有効

    numberデータ型の範囲の最小値

    rangeHigh

    int

    numberデータ型でのみ有効

    numberデータ型の範囲の最大値

    format

    string

    次のnumberデータ型:

    • number

    • currency

    • percent

    次のdatetimeデータ型:

    • date

    • time

    • both

    列の形式

    allowLinks

    boolean

    • true

    • false

    stringデータ型でのみ有効

    ハイパーリンクを列の値に指定できるかどうか

    linkTarget

    string

    • _blank

    • _self

    allowLinks=trueの場合のみ有効

    _blankはリンクを新しいウィンドウに開き、_selfはリンクを同じウィンドウ内に開きます

    editLines

    int

    stringデータ型でのみ有効

    列値を編集する際の行数(デフォルトは1)

    peopleScope

    string

    • GLOBAL

    • SUB_SCOPE

    personデータ型でのみ有効

    ディレクトリ内のすべてのユーザーを有効とするか、あるいはリストを含むポータルのメンバーを有効とするか

    displayWidth

    int

    列のピクセル単位での表示幅

    hint

    string

    列値を入力する際にユーザーに表示されるヒント

    脚注10

    必須要素です

    脚注11

    必須要素です

  • たとえば:

    <metaColumn>
       <name>Comments</name>
       <dataType>richtext</dataType>
    </metaColumn>
    
  • リクエスト・ヘッダー: Content-Type = application/xml | application/json, [Accept = application/xml | application/json]

  • レスポンス・ステータス: 200 [OK]

  • レスポンス本文: <metaColumn>

メソッド(column): DELETE

リスト列を削除するには、このメソッドを使用します。

  • リソースURI。たとえば:

    http://host:port/rest/api/spaces/vs1/lists/(/oracle/webcenter/list/scopedMD/
    s355923f0_2f04_4fd0_83ad_f7dac2a7ceed/lists/ls_c9cecbc7_756b_417b_a35f_
    fb03874979c0.xml)/columns/(lco_fe2b9856_32f3_449a_a277_
    18dc7f6a779e)?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
    
  • リクエスト本体: なし

  • レスポンス・ステータス: 204 [No Content]

  • レスポンス本体: なし

columnからリンクされるリソース・タイプ

表C-30に、クライアントがcolumnリソースからリンクできるリソース・タイプを示します。

表C-30 columnからリンクされるリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:space:list:column

ピープル・コネクションREST APIの使用

この項には次のトピックが含まれます:

アクティビティ・ストリームREST API

アクティビティ・ストリームREST APIを使用して、アクティビティ・ストリームにおけるユーザーのアプリケーション・アクティビティを参照します。この項では、このアクションを実行するために使用できるREST APIメソッドの情報を提供します。

この項には次のトピックが含まれます:

アクティビティ・ストリームのエントリ・ポイント

各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。ピープル・コネクションでは、各機能に独自のリンク要素があります。たとえば、ピープル・コネクションのアクティビティ・ストリーム機能のエントリ・ポイントを見つけるには、次のresourceTypeを持つリンク要素を見つけます。

urn:oracle:webcenter:activities:stream

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供され、それによってアクティビティ・ストリームから現在のユーザーのアプリケーション・アクティビティが取得されます。クライアントは、このエントリ・ポイントにHTTPリクエストを送信し、ピープル・コネクションのアクティビティ・ストリーム機能を使用します。

関連項目:

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

アクティビティ・ストリームのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「アクティビティ・ストリームのリソース・タイプ」の該当の項を参照してください。

ピープル・コネクションのアクティビティ・ストリーム機能のリソース・タイプの分類は、次のとおりです。

urn:oracle:webcenter:activities:stream
urn:oracle:webcenter:activities:activity
アクティビティ・ストリームのセキュリティに関する考慮事項

ピープル・コネクションREST APIのいずれかにアクセスするには、RESTサービスにログインする必要があります。その後、基礎となるサービスにより、権限の確認などが処理されます。

関連項目:

一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。

アクティビティ・ストリームのリソース・タイプ

この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:

urn:oracle:webcenter:activities:stream

streamレスポンスには、アクティビティ・ストリームからのアクティビティの取得に使用するURIが含まれます。

ユーザーのストリームからアクティビティを取得するか、ユーザーのコネクションのストリームからアクティビティを取得できます。どのアクティビティを取得するのかをより細かく制御するには、アクティビティ・ストリーム問合せフィルタを使用します。問合せフィルタを使用すると、次のことを実行できます。

  • 問合せ対象のユーザーを指定します

  • ユーザーのコネクションのアクティビティを結果に含めます

  • 結果に、ホーム・ポータルなどポータルからのアクティビティを含めます

  • 結果を、特定のサービスからのアクティビティに限定します

使用できるオプションは、streamリソースにアクセスするためにたどるパスと、使用するリンクのrelに応じて異なります。たとえば、アクティビティ・ストリーム問合せフィルタは、urn:oracle:webcenter:activities:streamrel属性を持つリンクからのみ使用できます。personリソースからアクティビティ・ストリーム問合せフィルタにアクセスする場合は、personGuidパラメータが事前に設定されます。

表C-31に、リンクのrel要素に応じて返されるアクティビティを示します。

表C-31 streamによって返されるアクティビティ

rel 戻り値

urn:oracle:webcenter:activities:stream:person

ユーザーのストリームからのアクティビティ(GUID/@self)脚注 12

urn:oracle:webcenter:activities:stream:connections

ユーザーのコネクションのストリームからのアクティビティ(GUID/@connections)

urn:oracle:webcenter:activities:stream

アクティビティ・ストリーム問合せフィルタによって決定されるアクティビティ

urn:oracle:webcenter:activities:stream:space

ポータル・アクティビティ・ストリームからのアクティビティ

urn:oracle:webcenter:activities:stream:list

ポータル・アクティビティ・リストからのアクティビティ

脚注12

GUIDは、任意の有効なユーザーGUIDまたは@meのいずれかです。

streamへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceIndex
   stream (rel="urn:oracle:webcenter:activities:stream:person" or
               "urn:oracle:webcenter:activities:stream")
resourceIndex
   person
      stream (rel="urn:oracle:webcenter:activities:stream:person" or
                  "urn:oracle:webcenter:activities:stream:connections" or
                  "urn:oracle:webcenter:activities:stream")
resourceIndex
   person
      list
         stream
resourceIndex
   space
      stream
stream
   activity
      param
         stream (rel="urn:oracle:webcenter:activities:stream:space")
personReference
   stream
streamでサポートされるメソッド

次のメソッドは、streamでサポートされています。

  • GET

    • リクエスト-パラメータ:

      • startIndexitemsPerPage

      関連項目:

      startIndexitemsPerPageなどのREST APIパラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。

      問合せフィルタURIに使用できる追加のパラメータは次のとおりです。

      • fromDate - アクティビティ開始日(yyyy-mm-dd)を指定します。

      • toDate - アクティビティ終了日(yyyy-mm-dd)を指定します。

      • data - 指定したデータのみを返します(詳細は、「共通のリクエスト問合せパラメータ」を参照してください)。streamリソースの場合、定数'data'をdataパラメータとして指定すると、そのリソースに関する基本情報が、コメントおよびお気に入り登録のサマリーを除いてすべて返されます。コメントまたはお気に入り登録を返す場合は、dataパラメータ値'commentsSummary'または'likesSummary'を指定します。

        ノート:

        複数のデータ値を、カンマ区切りリストとして指定できます。たとえば、data=data, commentsSummaryと指定します。

      • personGuid – (必須)指定されたユーザーのストリームからアクティビティを取得します。有効な値: 任意の有効なユーザーGUIDまたは@me

      • serviceIds – 指定されたサービスに対するアクティビティのみを返します。有効な値: アスタリスク(*)では、すべてのサービスが返されます。NULLまたは空にすると、(最上部バーの設定リンクから)サービス・フィルタのユーザー・プリファレンス設定が使用されます。

      • personal – 指定されたユーザーのアクティビティをホーム・ポータルに含めます。有効な値: trueまたはfalseデフォルト値: false

      • connections – 指定されたユーザーのコネクションのストリームからのアクティビティを含めます。有効な値: trueまたはfalseデフォルト値: false

      • groupSpaces – 指定したユーザーがメンバーとなっているすべてのポータルからのアクティビティを含めます。有効な値: trueまたはfalseデフォルト値: false

      • connectionListIds – アクティビティを表示するために使用されるコネクション・リストを指定するコネクション・リスト名のカンマ区切りリスト。

      • groupSpaceGuids – アクティビティを表示するために使用されるポータルGUIDのカンマ区切りリスト。

      • userGroupSpaceActivities – ユーザーのアクティビティをそれぞれのポータルに表示するかどうかを指定します。有効な値: trueまたはfalseデフォルト値: false

      • followedObjects – 現在のユーザーと指定されたユーザーの両方に追跡されるオブジェクトのすべてのアクティビティを表示するかどうかを指定します。有効な値: trueまたはfalseデフォルト値: false

      • followedObjectsUserActivities – 現在のユーザーと指定されたユーザーの両方が追跡するオブジェクトの指定されたユーザーのアクティビティを表示するかどうか指定します。有効な値: trueまたはfalseデフォルト値: false

      • advancedQuery – ストリーム・アクティビティに対するフィルタを指定します。ユーザー名、サービスIDおよびドキュメントの表示名などのオブジェクトの詳細のフィルタを作成します。

        ノート:

        advancedQueryパラメータに実際の値をプラグする必要があります。EL式を直接パラメータに渡すことはできません。通常、REST APIクライアントはEL変換を手動で処理し、実際のオブジェクト・データ値をREST URLに挿入します。次の例を参照してください。

      たとえば、次のURIでは、現在のユーザーのアクティビティ・ストリームから、そのユーザーがサービス・フィルタに対する個人プリファレンス設定で構成したサービスすべてに対して、アクティビティが返されます。これによって、ユーザーのホーム・ポータルから、およびユーザーのコネクションのストリームからアクティビティが返されます。

      http://host:port/rest/api/activities?personal=true&connections=true&personGuid=@me&token=utoken
      

      次のURIでは、ユーザーの個人プロファイルおよびコネクションのアクティビティのみが返されます。

      http://host:port/rest/api/activities?serviceIds=oracle.webcenter.peopleconn
      ections.profile,oracle.webcenter.peopleconnections.connections&personal=
      true&personGuid=@me&token=utoken
      

      この次の例では、advancedQueryパラメータの使用方法を示します。前述のとおり、EL式をadvancedQueryに渡すことはできません。REST APIクライアントは、最初に実際のデータ・オブジェクト値を取得する必要があり、そして、その値をadvancedQueryに渡すことができます。たとえば、特定のポータルのアクティビティをフィルタ処理するには、そのポータルの範囲のGUIDをadvancedQueryに渡します。

      http://host:port/rest/api/activities?personGuid=@me&advancedQuery=AE.SCOPE_ID%20%3D%20\%27s8bba98ff_4cbb_40b8_beee_296c916a23ed\%27&ttoken=token
      

      ここでs8bba98ff_4cbb_40b8_beee_296c916a23edはそのポータルのGUIDです。問合せ文字列は、適切なエスケープ・コードでエンコードする必要があります。

    • レスポンス-本体: 0個以上のアクティビティ

      ノート:

      streamリソースにはアクティビティ・アイテムが含まれているため、そのレスポンスでは、そのアクティビティで参照されているオブジェクトのリソース・リンクも返されることがあります。

streamからリンクされるリソース・タイプ

表C-32に、クライアントがstreamリソースからリンクできるリソース・タイプを示します。

表C-32 streamに関連するリソース・タイプ

rel リソース・タイプ

self urn:oracle:webcenter:activities:stream:person

urn:oracle:webcenter:activities:stream

related

urn:oracle:webcenter:activities:activity

urn:oracle:webcenter:activities:activity

activityレスポンスには、アクティビティに関するデータと、アクティビティ・ストリームに含まれているアクティビティから必要とするデータをすべて取得する際に使用するURIが含まれます。

activityへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してactivityリソースにアクセスする方法を示します。

resourceIndex
   stream
      activity
resourceIndex
   person
      stream
         activity
resourceIndex
   space
      stream
         activity
activityでサポートされるメソッド

activityでサポートされているメソッドはありません。アクティビティは、現在、streamリソース・タイプからのみ使用できます。

activityからリンクされるリソース・タイプ

表C-33に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-33 urn:oracle:webcenter:activities:activityに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:activities:activity

icon

urn:oracle:webcenter:activities:activity:icon

activityの読取り専用要素

表C-34に、activityリソースの読取り専用要素を示します。

ノート:

アイコンが使用可能である場合は、activityによって、レスポンスのリンク・セクションのアクティビティ・アイコンへのリンクが返されます。「urn:oracle:webcenter:activities:activity:icon」を参照してください。

表C-34 activityの読取り専用要素

要素 タイプ 説明

activityType

String

アクティビティ・タイプ

サービス内で一意です。

commentsCount

String

dataパラメータにcommentsSummaryを指定した場合、commentsCountパラメータが返されます。

createdDate

Date (String)脚注13

アクティビティが作成された日付。

description

String

アクティビティの説明。

detail

String

アクティビティの詳細情報(使用可能な場合)。

たとえば、これによって、メッセージのコンテンツ、ドキュメントのファイル名、お気に入り登録が返されます。

detailURLに似ています。両方またはいずれかを使用することも、どちらも使用しないことも可能です。detailURLは、ポータルでWikiおよびブログを作成する際に使用可能です。

detailURL

String

detailURLは、ポータルでWikiおよびブログを作成する際に使用可能です。WebベースのWebCenter Portalでは、このURLをクリックし、ポータルでWikiまたはブログのページを開くことができます。

detailに似ています。両方またはいずれかを使用することも、どちらも使用しないことも可能です。

displayDescription

String

事前に書式設定された国際化された説明。

displayMessage

String

事前に書式設定された国際化されたメッセージ(テンプレート情報は含まれません)。

groupSpace

groupSpaceReference

アクティビティが実行されたポータルに関する情報

ノート: この参照は、ポータル内で発生しなかったアクティビティ(たとえば、ホーム・ポータルで発生したアクティビティ)では存在しません。また、ポータルの作成はホーム・ポータルで発生するため、そのアクティビティにもこの要素はありません。

id

String

メッセージの一意のID

isSummary

trueまたはfalse

このアクティビティが他のアクティビティのサマリーであるのかどうかを示します。

likesCount

String

dataパラメータにlikesSummaryを指定した場合、likesCountパラメータが返されます。

message

String

このアクティビティのローカライズ済文字列

これは、中カッコ({})内に置換文字列が含まれている場合があります。

permission

PRIVATE

SHARED

PUBLIC

このアクティビティの権限レベル

scope

String

アクティビティの範囲

これは、ホーム・ポータルなどのポータルを返すことがあります。

たとえば、ポータルの場合は、次のような文字列が返されます。

s8bba98ff_4cbb_40b8_beee_296c916a23ed

serviceId

String

アクティビティを作成したサービスの一意のID

sharedLink_url

String

次の例で示すように、RESTクライアントによるナビゲーション・リンクをレンダリングするために使用できます。

<param resourceType="urn:oracle:webcenter:activities:parameter">
<links>
<link href="http://www.google.com" />
</links>
<displayName>http://www.google.com</displayName>
<key>_sharedLink_url</key>
<type>custom</type>
</param> "

このパラメータはメッセージ・テンプレートで使用できないことに注意してください(たとえば: {actor[0]}によってポータル{object[0]}はすでに作成されています)。

templateParams

urn:oracle:webcenter:activities:parameter

アクティビティに関連するデータを取得するparam要素のリスト。各templateParam <param>要素で提供されるキーによって、1つ以上のデータ・アイテムをパラメータ化したアクティビティ・メッセージにプラグインできます。「templateParams要素の理解」を参照してください。

custom

Param

カスタム・パラメータには、displayNamekeyおよびtypeがあり、URLを持つ場合と持たない場合があります。

脚注13

DATEBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。DATEデータ型は、Java標準の日付書式、たとえば、2009-08-21T14:43:11.0013-0700を返します。ここで、0700はタイム・ゾーンを表します。

templateParams要素の理解

Carlという名前のユーザーの最新のメッセージを表示するとします。「CarlはポータルCustomer Feedbackを作成した」のような情報を表示したいと考えています。templateParams要素が、この問題の解決に役立ちます。

templateParams要素は、タイプoracle:webcenter:activities:activityのオブジェクトで返されます。この要素は、アクティビティに関連する大量のデータを取得します。たとえば、ユーザーが新しいポータルを作成する場合、そのアクティビティのtemplateParams要素が、ユーザーに関する情報およびポータルに関する情報を取得します。そのアクティビティに関連するパラメータ化されたメッセージ文字列内での文字列の置換の実行を可能にするキーが提供されています。

たとえば、ユーザーがポータルを作成する場合、返されるアクティビティ・オブジェクトには、次のようにパラメータ化されている<message>アイテムが含まれています。

<message>{actor[0]} has created the portal {object[0]}</message>

そのアクティビティのtemplateParams要素を解析することで、文字列の置換の実行を可能にする使用可能なキーおよび、ユーザー名やアクティビティなど、表示に適したデータを見つけることができます。

templateParams要素は、commentslikescommentsSummaryおよびlikesSummaryオブジェクトへのリンクも提供します(それらがdataパラメータを使用してリクエストされている場合)。これらのリンクによって、オブジェクトに関するすべてのコメントまたはお気に入り登録などを問い合せたり、新しいコメントまたはお気に入り登録を投稿できます。サマリー・リンクによって、コメントまたはお気に入り登録カウントおよびいくつかの最近のコメントまたはお気に入り登録が返されます。「コメントとお気に入り登録の理解」も参照してください。

templateParams要素で返されるリンクは、ユーザー、ドキュメント、ポータル、カスタム・オブジェクトなど、どのような種類のオブジェクトが返されるのかによって異なります。詳細は、「urn:oracle:webcenter:activities:parameter」を参照してください。

ノート:

templateParams要素には、場合によっては、メッセージ内で直接参照されない要素が含まれることがあります。

relリンクがviaとマークされている場合、それは基盤となるRESTオブジェクト(たとえば、パラメータではなくドキュメント)へのリンクです。relリンクがalternateおよびタイプtext/htmlとマークされている場合、それはそのオブジェクトのHTMLページへのリンクです。ポータル・オブジェクトには、ポータルのためのアクティビティ・ストリーム・リンクが含まれています。ユーザーには、アイコンおよびアクティビティ・ストリーム・リンクがあります。他のオブジェクトには、タグ付けしたアイテムおよび関連するタグ付けしたアイテムのリストへのaltリンクを含めることができます(そのオブジェクトに対してタグ付けが有効化されている場合)。標準オブジェクトで、コメントまたはお気に入り登録がサポートされている場合、前述のとおり、それには、comments/commentsSummaryおよびlikes/likesSummaryを含めることができます。

コメントとお気に入り登録の理解

commentscommentsSummarylikesおよびlikesSummaryへのハイパーリンクがデフォルトで含まれます(data=data,commentsSummary,likesSummaryを指定してcommentsSummaryおよびlikesSummaryを開くことができます)。コメントおよびお気に入り登録は、アクティビティによって参照されるオブジェクトまたはアクティビティ自体と関連付けることができます。たとえば、ドキュメントを編集する場合、そのコメントはそのドキュメントと関連付けられます。アクティビティ・ストリーム・ページのドキュメント編集アクティビティにコメントを追加する場合、そのコメントは、そのドキュメント編集アクティビティと関連付けられます。

コメントおよびお気に入り登録と関連付けられているリンクは、次のとおりです。

  • commentscommentsリンクにより、1つのオブジェクトに対するすべてのコメントを問い合せることができます。このリンクで新しいコメントをPOSTすることもできます。comments POSTの場合、textフィールドが必要です。たとえば、本体データには次のように使用します。

    JSON:

               {
                 "text" : "REST Comment"
               }
    

    XML:

               <text>REST Comment</text> 
    
  • commentsSummarycommentsSummaryリンクによって、コメント・カウントおよびいくつかの最近のコメントが返されます。

  • likes - likesリンクによって、1つのオブジェクトのすべてのお気に入り登録を問い合せることができます。このリンクで新しいお気に入り登録をPOSTすることもできます。likes POSTに必要なフィールドはありません。

  • likesSummarylikesSummaryリンクによって、お気に入り登録カウントおよび現在のユーザーのお気に入り(使用可能な場合)が返されます。

ノート:

Likeオブジェクト自体では、DELETEのみがサポートされ、GETはサポートされません。likesCountおよびcommentsCountアイテムによって、現在のオブジェクトのお気に入り登録またはコメントの数が返されます。

次のURLは、ドキュメント・オブジェクトのcommentscommentSummarylikesおよびlikesSummaryに対するGETリクエストの例を示しています。

"http://example.com:8892/rest/api/activities/services/oracle.webcenter.doclib/objectTypes/document/objects/(<document_object_id>)/comments?startIndex=0&amp;itemsPerPage=10&amp;utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"

"http://example.com:8892/rest/api/activities/services/oracle.webcenter.doclib/objectTypes/document/objects/(<document_object_id>)/commentsSummary?utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"

"http://example.com:8892/rest/api/activities/services/oracle.webcenter.doclib/objectTypes/document/objects/(<document_object_id>)/likes?startIndex=0&amp;itemsPerPage=10&amp;utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"

"http://example.com:8892/rest/api/activities/services/oracle.webcenter.doclib/objectTypes/document/objects/(<document_object_id>)/likesSummary?utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"

ここで<document_object_id>はドキュメント・オブジェクトIDです。

次のURLは、ドキュメント作成アクティビティのcommentscommentSummarylikesおよびlikesSummaryに対するGETリクエストの例を示しています。

"http://example.com:8892/rest/api/activities/ffa9a9f0-d02f-4e30-8c58-8a41b7a6e8a3/comments?startIndex=0&amp;itemsPerPage=10&amp;utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"

"http://example.com:8892/rest/api/activities/ffa9a9f0-d02f-4e30-8c58-8a41b7a6e8a3/commentsSummary?utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"

"http://example.com:8892/rest/api/activities/ffa9a9f0-d02f-4e30-8c58-8a41b7a6e8a3/likes?startIndex=0&amp;itemsPerPage=10&amp;utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"
                  "http://example.com:8892/rest/api/activities/ffa9a9f0-d02f-4e30-8c58-8a41b7a6e8a3/likesSummary?utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"
urn:oracle:webcenter:activities:parameter

templateParams要素によって、一連のparam要素が返されます。param要素によって、返されるアクティビティ・オブジェクトのタイプに固有のデータが返されます。param要素の使用可能なタイプには、次のものがあります。

  • userdisplayNameguididkeyprimaryIdおよびtypeを返します。

  • documentdisplayNameiconUrlidkeyprimaryIdおよびtypeを返します。

  • customdisplayNamekeyおよびtypeを返し、URLを持つ場合と持たない場合があります。

paramは、変数の参照または一般的な形式{prefix[index].variable}のキーである場合もあります。

urn:oracle:webcenter:activities:activity:icon

このリソース・タイプを使用して、アクティビティのアイコンを取得します(使用可能な場合) (GET)。

activities:activity:iconへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   activities
      activity
         icon
iconでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET – 指定したアクティビティに使用されるアイコンを返します。

iconからリンクされるリソース・タイプ

表C-35に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-35 urn:oracle:webcenter:activities:activity:iconに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:parent

urn:oracle:webcenter:activities:activity

コネクションおよびプロファイルREST API

コネクションおよびプロファイルREST APIを使用して、プロファイルまたはコネクション・リストの参照、コネクション・リストの管理、コネクションの追加または削除、コネクションの招待の送信およびプロファイル・ステータス・メッセージの更新を行います。この項では、これらのアクションを実行するために使用するREST APIメソッドの情報を提供します。

この項には次のトピックが含まれます:

コネクションおよびプロファイルのエントリ・ポイント

各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。ピープル・コネクションでは、各機能に独自のリンク要素があります。たとえば、ピープル・コネクションのコネクションとプロファイル機能のエントリ・ポイントを見つけるには、次のresourceTypeを持つリンク要素を見つけます。

urn:oracle:webcenter:people (現在のユーザーのプロファイルを返します)

urn:oracle:webcenter:people:person (ユーザーに対する問合せを可能にします)

urn:oracle:webcenter:people:invitations (現在のユーザーによって送信または受信された招待を返します)

ノート:

people:personおよびpeople:invitationsリソース・タイプには、templateはありますが、hrefはありません。

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供され、それによって人々のリスト(people)または個々のユーザー(people:person)が返されます。クライアントは、このエントリ・ポイントにHTTPリクエストを送信し、ピープル・コネクションのコネクションとプロファイル機能を使用します。

コネクションおよびプロファイルのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「コネクションおよびプロファイルのリソース・タイプ」の該当の項を参照してください。

ピープル・コネクションのコネクションおよびプロファイル機能のリソース・タイプの分類は、次のとおりです。

urn:oracle:webcenter:people
   urn:oracle:webcenter:people:person
   urn:oracle:webcenter:people:icon
   urn:oracle:webcenter:people:person:list
      urn:oracle:webcenter:people:person:listNames
      urn:oracle:webcenter:people:person:listName
      urn:oracle:webcenter:people:person:list:member
      urn:oracle:webcenter:people:person:status
   urn:oracle:webcenter:people:invitations
      urn:oracle:webcenter:people:invitation
コネクションおよびプロファイルのセキュリティに関する考慮事項

ピープル・コネクションREST APIのいずれかにアクセスするには、RESTサービスにログインする必要があります。その後、基礎となるサービスにより、権限の確認などが処理されます。

コネクションおよびプロファイルのリソース・タイプ
urn:oracle:webcenter:people

peopleレスポンスには、1人以上のユーザーのプロファイルの取得に使用するURIが含まれます。

peopleへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してpeopleリソースにアクセスする方法を示します。

resourceIndex
   people
peopleでサポートされるメソッド

次のメソッドは、peopleでサポートされています。

  • GET

    • リクエスト-パラメータ:

      • startIndex - 「共通のリクエスト問合せパラメータ」を参照してください。

      • itemsPerPage - 「共通のリクエスト問合せパラメータ」を参照してください。

      • projection - 「共通のリクエスト問合せパラメータ」を参照してください。

      • data – dataパラメータは、レスポンスで返されるデータを制御するカンマ区切りのリストです。事前定義済セットのbasicは、data=guid,id,displayNameと同等です。事前定義済セットのdataは、ユーザーのすべてのデータを返す標準セットですが、statusmanagerreporteesまたはphotosは含まれていません。設定可能な値のフル・リストには、事前定義済セットのbasicdata、さらに個々のデータ値としてguididdisplayNamebirthdaylanguagetimeZonenameaddressesorganizationsworkEmailphoneNumbersmanagerreporteesphotosおよびstatusが含まれます。

        dataパラメータとして定数'data'を指定すると、リソースに対してすべての基本情報が返されます。projectiondataの両方の問合せ文字列パラメータが存在する場合は、dataパラメータを使用して返すデータを決定します。

        dataパラメータは、次の値のカンマ区切りリスト値を取って、対応するデータを返すこともできます。guididdisplayNamebirthdaylanguagetimeZonenameaddressesorganizationsworkEmailphoneNumbersmanagerreporteesphotosまたはstatus、あるいはその任意の組合せ。

        ノート:

        dataパラメータは、事前定義済セット、値のコレクションまたはセットと値の組合せを受け入れることができます。たとえば、基本データおよびユーザーの生年月日を入手するには、data=basic,birthdayと指定します。

      • links – linksパラメータは、レスポンスでどのリンクが返されるのかを制御するカンマ区切りリストです。このパラメータは、事前定義済セット、個々のデータ値または事前定義済セットと個々のデータ値の組合せを受け入れることができます。事前定義済セットは、basicdataactivitiesSetconnectionsSetおよびfeedbackSetです。これらの事前定義済セットについては、「linksパラメータの事前定義済セット」を参照してください。

        linksパラメータの個々の値は、personprofileiconstatusmessageBoardactivitiespersonActivitiesconnectionActivitiesconnectionslistNamesinvitationgivenFeedbackreceivedFeedbackuserGivenFeedbackmanagerreporteesmemberです。

        projectionlinksの両方の問合せ文字列パラメータが存在する場合は、linksパラメータを使用して返すリンクを決定します。

    • レスポンス-本体: 0個以上の個人オブジェクト。

linksパラメータの事前定義済セット

次のアイテムは、linksパラメータで返すことができる事前定義済セットです。たとえば、links=basicを指定する場合、それはdata=person,profile,iconを指定することと同等です。必要に応じて、追加のパラメータを指定することもできます。たとえば、data=basic,birthdayと指定できます。

ノート:

現在使用できないリンクは、それらがlinksパラメータで指定されている場合でも返されません。

  • basic – プロファイルの基本情報を返し、personprofileおよびiconを含む標準セット。

  • data – レスポンスに対してすべての基本リンクと、コネクション・リスト、ステータスおよびアクティビティ・ストリーム・テンプレートを返す標準セット。

  • activitiesSetactivitiespersonActivitiesおよびconnectionActivitiesが含まれます。

  • connectionsSetconnectionslistNamesおよびinvitationが含まれます。

  • feedbackSetgivenFeedbackreceivedFeedbackおよびuserGivenFeedbackが含まれます。

peopleからリンクされるリソース・タイプ

表C-36に、クライアントがpeopleリソースからリンクできるリソース・タイプを示します。

表C-36 peopleに関連するリソース・タイプ

rel リソース・タイプ

urn:oracle:webcenter:people:icon

urn:oracle:webcenter:people:person

urn:oracle:webcenter:people:person:list:connections

urn:oracle:webcenter:people:person:list

urn:oracle:webcenter:activities:stream:person

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:activities:stream:connections

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:feedback:all-received

urn:oracle:webcenter:feedback

urn:oracle:webcenter:feedback:all-given

urn:oracle:webcenter:feedback

self

urn:oracle:webcenter:people:person:status

urn:oracle:webcenter:people:person:list:list

urn:oracle:webcenter:people:person:list

self

urn:oracle:webcenter:people:person:listName

urn:oracle:webcenter:activities:stream:list

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:people:icon

このリソース・タイプを使用して、指定したプロファイルで使用されるアイコンを取得します(GET)。

people:iconへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   people
      icon
iconでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET – 指定したプロファイルに使用されるアイコンを返します。

    ノート:

    このリソースには、使用するプロファイル・アイコンのサイズを選択できるテンプレートが含まれています。sizeテンプレート・パラメータは、smallmediumまたはlargeに設定できます。

iconからリンクされるリソース・タイプ

表C-37に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-37 urn:oracle:webcenter:people:iconに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:people:icon

urn:oracle:webcenter:parent

urn:oracle:webcenter:people

urn:oracle:webcenter:people:person

personレスポンスには、プロファイル・データおよびユーザー・プロファイルの取得に使用するURIが含まれます。

personへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してpersonリソースにアクセスする方法を示します。

resourceIndex
   people
resourceIndex
   people
      person
resourceIndex
   person
author
   person
resourceIndex
   activities:stream
      person
personでサポートされるメソッド

次のメソッドは、personでサポートされています。

  • GET

    • リクエスト-パラメータ: q

      指定した人を取得するためのqの形式は次のとおりです。

      q=[loginid:equals:username]
      Or
      q=[guid:equals:guid]
      Or
      q=[email:equals:email]

      ノート:

      パラメータqは、personresourceIndexテンプレート上のみです。

    • レスポンス-本体: message

      関連項目:

      レスポンスmessageの詳細は、「personの読取り専用要素」を参照してください。

personの読取り専用要素

表C-38に、personリソースの読取り専用要素を示します。

ノート:

personレスポンス内に存在する要素は、ユーザー・リポジトリの構成方法およびそれによってサポートされている要素に応じて異なります。さらに、addressemailsphotosphoneNumbersorganizationなど、表C-38に示すデータのいくつかは複数のインスタンスを持つことができます。

関連項目:

表C-38に示す要素のいくつかは、「linksパラメータの事前定義済セット」で説明している事前定義済セットで返すことができます。

表C-38 personの読取り専用要素

要素 タイプ 説明

guid

String

人の一意のGUID

id

String

人の一意のログインID(つまり、ユーザー名。たとえば、pat_coi)

displayName

String

人の表示名(ユーザーの名前、たとえば、Pat Coi)。これは、リポジトリ構成に応じて、idと同じ値になる場合があります。

birthday

Date (String)脚注14

人の生年月日

connected

Boolean (String)1

この人が現在のユーザーにコネクションを持っているかどうか

language

String

人の優先言語

timeZone

String

人のタイムゾーン

name

name

人の名前情報

nameは、ポータブル連絡先タイプです。詳細は、「nameポータブル連絡先タイプ」を参照してください。

address

address

人の住所情報

addressは、ポータブル連絡先タイプです。詳細は、「addressポータブル連絡先タイプ」を参照してください。

emails

value

人の電子メール

emailsは、valueポータブル連絡先タイプから導出されます。詳細は、「valueポータブル連絡先タイプ」を参照してください。

photos

value

人のプロファイル写真

photosは、valueポータブル連絡先タイプから導出されます。詳細は、「valueポータブル連絡先タイプ」を参照してください。

phoneNumbers

value

人の電話番号

phoneNumberは、valueポータブル連絡先タイプから導出されます。詳細は、「valueポータブル連絡先タイプ」を参照してください。

organizations

organization

人の組織情報

organizationは、ポータブル連絡先タイプです。詳細は、「organizationポータブル連絡先タイプ」を参照してください

manager

personReference

この人の上司

reportees

personReference

この人の直属の部下

status

urn:oracle:webcenter:people:person:status

人のプロファイル・ステータス・メッセージ

脚注14

DATEBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。

personからリンクされるリソース・タイプ

表C-39に、クライアントがpersonリソースからリンクできるリソース・タイプを示します。

表C-39 personに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:people:person

alternate

urn:oracle:webcenter:spaces:profile (HTML)

urn:oracle:webcenter:people:person:list:connections

urn:oracle:webcenter:people:person:list

related

urn:oracle:webcenter:people:person:listNames

related

urn:oracle:webcenter:people:person:status

urn:oracle:webcenter:activities:stream:person

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:activities:stream:connections

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:activities:stream

related

urn:oracle:webcenter:messageBoard

urn:oracle:webcenter:feedback:all-given

urn:oracle:webcenter:feedback

urn:oracle:webcenter:feedback:all-received

urn:oracle:webcenter:feedback

urn:oracle:webcenter:people:person:list

listレスポンスには、コネクション・リスト上のすべてのプロファイルの取得(GET)、ユーザーへのコネクションの招待の送信またはコネクション・リストへのコネクションの追加(POST)、およびコネクション・リストの削除(DELETE)に使用するURIが含まれます。

listへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してlistリソースにアクセスする方法を示します。

resourceIndex
   person
      listNames
         list
resourceIndex
   person
      list (rel="urn:oracle:webcenter:people:person:list:connections")
listでサポートされるメソッド

次のメソッドは、listリソースでサポートされています。

  • GET

    • リクエスト-パラメータ: startIndexitemsPerPageprojection

      関連項目:

      startIndexitemsPerPageなどのREST APIパラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。

    • レスポンス-本体: 0個以上のpersonアイテム

  • POST

    • リクエスト-本体: member

    • レスポンス-本体: member

    関連項目:

    リクエスト要素およびレスポンス要素におけるmemberの詳細は、「urn:oracle:webcenter:people:person:list:member」を参照してください。

  • DELETE

    • リクエスト

listからリンクされるリソース・タイプ

表C-40に、クライアントがlistリソースからリンクできるリソース・タイプを示します。

表C-40 listに関連するリソース・タイプ

rel リソース・タイプ

self urn:oracle:webcenter:people:person:list脚注 15

urn:oracle:webcenter:people:person:list

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:activities:stream

脚注15

self relには現在、urn:oracle:webcenter:people:person:list (正)ではなく、urn:oracle:webcenter:people:person:list:listが含まれます。@connectionsデフォルト・リストの場合、これには現在、urn:oracle:webcenter:people:person:list:connectionsが含まれます。

urn:oracle:webcenter:people:person:listNames

listNamesレスポンスには、既存のコネクション・リストの名前と、リストの取得(GET)およびコネクション・リストの作成(POST)に使用するURIが含まれます。

listNamesへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してlistNamesリソースにアクセスする方法を示します。

resourceIndex
   person
      listNames
listNamesでサポートされるメソッド

次のメソッドは、listNamesリソースでサポートされています。

  • GET

    • リクエスト

    • レスポンス: 本体: 0個以上のlistNameアイテム

  • POST

    • リクエスト-本体: listName

    • レスポンス-本体: listName

関連項目:

listNameの詳細は、「urn:oracle:webcenter:people:person:listName」を参照してください。

listNamesからリンクされるリソース・タイプ

表C-41に、クライアントがlistNamesリソースからリンクできるリソース・タイプを示します。

表C-41 listNamesに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:people:person:listNames

urn:oracle:webcenter:people:person:listName

listNameレスポンスには、コネクション・リストの名前およびコネクション・リストへのアクセスに使用するURIが含まれます。「urn:oracle:webcenter:people:person:listName」も参照してください。

listNameへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してlistNameリソースにアクセスする方法を示します。

resourceIndex
   person
      listNames
         listName
listNameでサポートされるメソッド

次のメソッドは、listNameリソースでサポートされています。

  • DELETE

    • リクエスト

listNameの書込み可能要素

表C-42に、listNameリソースの書込み可能要素を示します。

表C-42 listNameの書込み可能要素

要素 タイプ 必須 制約 説明

name

String

はい

1文字以上の文字

単一のリスト名

listNameからリンクされるリソース・タイプ

表C-43に、クライアントがlistNameリソースからリンクできるリソース・タイプを示します。

表C-43 listNameに関連するリソース・タイプ

rel リソース・タイプ

self urn:oracle:webcenter:people:person:list

urn:oracle:webcenter:people:person:list

urn:oracle:webcenter:activities:stream:list

urn:oracle:webcenter:activities:stream

urn:oracle:webcenter:people:person:list:member

memberレスポンスには、コネクション・リストからのコネクションの削除に使用するURIが含まれます。

memberへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してmemberリソースにアクセスする方法を示します。

resourceIndex
   person
      list
         member
memberでサポートされるメソッド

次のメソッドは、memberでサポートされています。

  • DELETE

    • リクエスト

memberの書込み可能要素

表C-44に、memberリソースの書込み可能要素を示します。memberの書込み可能要素は、コネクションをリストに追加したり、ユーザーにコネクションの招待を送信する場合に使用されます。memberリソース自体は、コネクションを削除するためのものであり、書込み可能要素を使用しません。

表C-44 memberの書込み可能要素

要素 タイプ 必須 制約 説明

guid

String

はい

1文字以上の文字

ユーザーのGUID

message

String

いいえ

0文字以上の文字

招待メッセージ

これは、ユーザーにコネクションの招待を送信する場合(つまり、ユーザー作成のコネクション・リストではなく、@connectionsリストにPOSTする場合)にのみ使用します。

urn:oracle:webcenter:people:person:status

statusレスポンスには、指定したユーザーのプロファイル・ステータス・メッセージの取得(GET)および更新(PUT)に使用するURIが含まれます。

statusへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してstatusリソースにアクセスする方法を示します。

resourceIndex
   people
      person
         status
statusでサポートされるメソッド

次のメソッドは、statusリソースでサポートされています。

  • GET

    • リクエスト

    • レスポンス-本体: status

  • PUT

    • リクエスト-本体: status

    • レスポンス-本体: status

statusの書込み可能要素

表C-45に、statusリソースの書込み可能要素を示します。

表C-45 statusの書込み可能要素

要素 タイプ 必須 制約 説明

note

String

はい

1文字以上の文字

ステータス・メッセージの内容

statusからリンクされるリソース・タイプ

表C-46に、クライアントがstatusリソースからリンクできるリソース・タイプを示します。

表C-46 statusに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:people:person:status

urn:oracle:webcenter:people:invitations

invitationsレスポンスには、招待の取得に使用するURIが含まれます(GET)。別のユーザーに招待を送信(POST)することもできます。

invitationsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してinvitationsリソースにアクセスする方法を示します。

resourceIndex
   invitations

ユーザーに対してコネクションをまだ持っていない場合、彼らにコネクションの招待を送信するために、そのユーザーのプロファイルからinvitationsリソースにナビゲートすることもできます。このパスは、POSTに対してのみ使用されます。

resourceIndex
   person
      invitations
invitationsでサポートされるメソッド

次のメソッドは、invitationsリソースでサポートされています。

  • GET

    • リクエスト-パラメータ: q

      現在のユーザーに送信された招待を取得するためのqの形式は次のとおりです。

      q=[invitee:equals:@me]
      

      現在のユーザーから送信された招待を取得するためのqの形式は次のとおりです。

      q=[invitor:equals:@me]
      
    • レスポンス-本体: 0個以上の招待

  • POST

    • リクエスト-本体: invitation

    • レスポンス-本体: invitation

invitationsの書込み可能要素

表C-47に、invitationsリソースの書込み可能要素を示します。

表C-47 invitationsの書込み可能要素

要素 タイプ 必須 制約 説明

message

String

いいえ

1文字以上の文字

招待に添付されるメッセージ

invitationsからリンクされるリソース・タイプ

表C-48に、クライアントがinvitationsリソースからリンクできるリソース・タイプを示します。

表C-48 invitationsに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:people:invitation

urn:oracle:webcenter:people:invitation

invitationレスポンスには、送信した招待の削除(DELETE)、または受信した招待の削除(DELETE)または更新(PUT)に使用するURIが含まれます。

invitationへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してinvitationリソースにアクセスする方法を示します。

resourceIndex
   invitations
      invitation
invitationでサポートされるメソッド

次のメソッドは、invitationリソースでサポートされています。

  • PUT

    • リクエスト-本体: invitation

    • レスポンス-本体: invitation

  • DELETE

    • リクエスト

invitationの書込み可能要素

表C-49に、invitationリソースの書込み可能要素を示します。

表C-49 invitationの書込み可能要素

要素 タイプ 必須 制約 説明

status

String

はい(PUT)

ACCEPTED

IGNORED

招待のステータス。

ノート: 招待を受け入れるか無視するときに、それが自身の招待のリストから削除されます。

invitationの読取り専用要素

表C-50に、invitationリソースの読取り専用要素を示します。

表C-50 invitationの読取り専用要素

要素 タイプ 説明

id

String

招待の一意のID

invitee

personReference

招待の送信先のユーザー

invitor

personReference

招待の送信元のユーザー

sentDate

Date (String)脚注16

招待が送信された日付

脚注16

DATEBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。

invitationからリンクされるリソース・タイプ

表C-51に、クライアントがinvitationリソースからリンクできるリソース・タイプを示します。

表C-51 invitationsに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:people:invitation

フィードバックREST API

フィードバックREST APIを使用して、フィードバックを読み取り、削除します。この項では、これらのアクションを実行するために使用するREST APIメソッドの情報を提供します。

この項には次のトピックが含まれます:

フィードバックのエントリ・ポイント

各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。ピープル・コネクションでは、各機能に独自のlink要素があります。ピープル・コネクションのフィードバック機能のエントリ・ポイントを見つけるには、次のresourceTypeを持つlink要素を見つけます。

urn:oracle:webcenter:feedback

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供され、それによって現在のユーザーの受信したフィードバックがすべて返されます。クライアントは、このエントリ・ポイントにHTTPリクエストを送信し、ピープル・コネクションのフィードバック機能を使用します。

関連項目:

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

フィードバックのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「フィードバックのリソース・タイプ」の該当の項を参照してください。

ピープル・コネクションのフィードバック機能のリソース・タイプの分類は、次のとおりです。

urn:oracle:webcenter:feedback
   urn:oracle:webcenter:feedback:message
フィードバックのセキュリティに関する考慮事項

ピープル・コネクションREST APIのいずれかにアクセスするには、RESTサービスにログインする必要があります。その後、基礎となるサービスにより、権限の確認などが処理されます。

関連項目:

一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。

フィードバックのリソース・タイプ
urn:oracle:webcenter:feedback

feedbackレスポンスには、フィードバック・メッセージの読取りに使用するURIが含まれます。

feedbackへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してfeedbackリソースにアクセスする方法を示します。

resourceIndex
   feedback
resourceIndex
   person
      feedback
feedbackでサポートされるメソッド

次のメソッドは、feedbackリソースでサポートされています。

  • GET

  • POST – 許可されている場合は、ターゲット・ユーザーに対するフィードバックを追加できます。このメソッドは、現在のユーザーがターゲット・ユーザーへのコネクションを持っており、そのユーザーに対するフィードバックを追加する権限を持っている場合にのみ使用可能です。

    • リクエスト - 本体: feedback

    <message resourceType="urn:oracle:webcenter:feedback:message">
        <body>test from REST API</body>
        <receivedUser>
        <guid>4F16DD80393611DFBF895F177662C511</guid>
        </receivedUser>
    </message>
feedbackからリンクされるリソース・タイプ

表C-52に、クライアントがfeedbackリソースからリンクできるリソース・タイプを示します。

表C-52 feedbackに関連するリソース・タイプ

rel リソース・タイプ

self urn:oracle:webcenter:feedback:all-received

urn:oracle:webcenter:feedback

self urn:oracle:webcenter:feedback:all-given

urn:oracle:webcenter:feedback

NA

urn:oracle:webcenter:feedback:message

urn:oracle:webcenter:feedback:message

messageレスポンスには、フィードバック・メッセージ・データおよびフィードバック・メッセージの削除に使用するURIが含まれます。

messageへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してmessageリソースにアクセスする方法を示します。

resourceIndex
   feedback
      message
resourceIndex
   person
      feedback
         message
messageでサポートされるメソッド

次のメソッドは、messageでサポートされています。

  • DELETE

    • リクエスト

messageの読取り専用要素

表C-53に、messageリソースの読取り専用要素を示します。

表C-53 messageの読取り専用要素

要素 タイプ 説明

body

String

メッセージ・コンテンツ

id

String

メッセージの一意のID

author

personReference

メッセージを作成したユーザー

created

Date (String)脚注17

リストが作成された日付

receivedUser

personReference

フィードバックを受信したユーザーへの人の参照

脚注17

DATEBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。

feedbackからリンクされるリソース・タイプ

表C-54に、クライアントがfeedbackリソースからリンクできるリソース・タイプを示します。

表C-54 messageに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:feedback:message

メッセージ・ボードREST API

メッセージ・ボードREST APIを使用して、ユーザーのメッセージ・ボードまたはポータル・メッセージ・ボードへのメッセージの投稿、読取りおよび削除を行います。この項では、これらのアクションを実行するために使用するREST APIメソッドの情報を提供します。

この項には次のトピックが含まれます:

メッセージ・ボードのエントリ・ポイント

各RESTサービスには、そのサービスのエントリ・ポイントを提供するリソース索引内にlink要素があります。ピープル・コネクションでは、各機能に独自のlink要素があります。ピープル・コネクションのメッセージ・ボード機能のエントリ・ポイントを見つけるには、次のresourceTypeを持つlink要素を見つけます。

urn:oracle:webcenter:messageBoard

ノート:

リソース索引からのエントリ・ポイントに加えて、個々のユーザーのメッセージ・ボードにナビゲートするために、メッセージ・ボード機能には、ポータル・メッセージ・ボードのポータル・レスポンスからのエントリ・ポイントもあります。

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供され、それによって現在のユーザーのメッセージ・ボードが返されます。クライアントは、このエントリ・ポイントにHTTPリクエストを送信し、ピープル・コネクションのメッセージ・ボード機能を使用します。

関連項目:

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

メッセージ・ボードのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「メッセージ・ボードのリソース・タイプ」の該当の項を参照してください。

ピープル・コネクションのメッセージ・ボード機能のリソース・タイプの分類は、次のとおりです。

urn:oracle:webcenter:messageBoard
   urn:oracle:webcenter:messageBoard:message
メッセージ・ボードのセキュリティに関する考慮事項

ピープル・コネクションREST APIのいずれかにアクセスするには、RESTサービスにログインする必要があります。その後、基礎となるサービスにより、権限の確認などが処理されます。

関連項目:

一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください

メッセージ・ボードのリソース・タイプ
urn:oracle:webcenter:messageBoard

messageBoardレスポンスには、ポータルおよび個々のユーザーのメッセージ・ボード・メッセージの読取り(GET)および投稿(POST)に使用するURIが含まれます。

messageBoardへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してmessageBoardリソースにアクセスする方法を示します。

resourceIndex
   messageBoard
resourceIndex
   person
      messageBoard

resourceIndex
   spaces
      space
         messageBoard
messageBoardでサポートされるメソッド

次のメソッドは、messageBoardリソースでサポートされています。

messageBoardの読取り専用要素

表C-55に、messageBoardリソースの読取り専用要素を示します。

表C-55 messageの読取り専用要素

要素 タイプ 説明

messageType

String

メッセージにリンクがある場合、linkを返します。それ以外の場合は、nullを返します。

link

String

リンクとともにメッセージの次のリンク・データを含みます。nameurlicondescriptionmimeTypeobjectIdobjectTypeserviceId

messageBoardからリンクされるリソース・タイプ

表C-56に、クライアントがmessageBoardリソースからリンクできるリソース・タイプを示します。

表C-56 messageBoardに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:messageBoard

NA

urn:oracle:webcenter:messageBoard:message

urn:oracle:webcenter:messageBoard:message

messageレスポンスには、メッセージ・ボード・メッセージ・データと、ポータルまたは個々のユーザーのメッセージ・ボード・メッセージの読取り(GET)、改訂(PUT)および削除(DELETE)に使用するURIが含まれます。

messageへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してmessageリソースにアクセスする方法を示します。

resourceIndex
   messageBoard
      message
resourceIndex
   person
      messageBoard
         message

resourceIndex
   spaces
      space
         messageBoard
            message
messageでサポートされるメソッド

次のメソッドは、messageリソースでサポートされています。

  • GET

    • リクエスト

    • レスポンス-本体: message

  • PUT

    • リクエスト-本体: message

    • レスポンス-本体: message

  • DELETE

    • リクエスト

messageの書込み可能要素

表C-57に、messageリソースの書込み可能要素を示します。

表C-57 messageの書込み可能要素

要素 タイプ 必須 制約 説明

body

String

はい

1文字以上の文字

メッセージ・コンテンツ

messageの読取り専用要素

表C-58に、messageリソースの読取り専用要素を示します。

表C-58 messageの読取り専用要素

要素 タイプ 説明

id

String

メッセージの一意のID

author

personReference

メッセージを作成したユーザー

created

Date (String)脚注18

リストが作成された日付

脚注18

DATEBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。

messageからリンクされるリソース・タイプ

表C-59に、クライアントがmessageリソースからリンクできるリソース・タイプを示します。

表C-59 messageに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:messageBoard:message

可視性に基づくメッセージのフィルタ処理

メッセージを取得するREST GETコマンドでデフォルトにより、表示されるすべてのメッセージを取得しても、一連の可視性フィルタを使用するアプリケーション・ユーザー・インタフェースを介して、プライベートまたは非表示のメッセージも取得できます。

メッセージ・ボードに投稿されたメッセージは次の可視性条件を持つことができます。

  • パブリック

  • プライベート

  • 非表示

  • パブリックかつ非表示

  • プライベートかつ非表示

デフォルトでは、メッセージはパブリックです。

プライベート・メッセージ:

メッセージ・ボードの所有者は、任意のメッセージをプライベートとしてマークできます。メッセージがプライベートとしてマークされると、そのメッセージは、メッセージの所有者がプライベート・メッセージを選択して他の人に送信しないかぎり、所有者以外には表示されません。そうでない場合、他のユーザーがプライベート・メッセージを含むメッセージ・ボードを表示しても、パブリック・メッセージのみが表示されます。

非表示のメッセージ:

メッセージ・ボードの所有者は、任意のメッセージを非表示としてマークできます。メッセージが非表示としてマークされると、そのメッセージはメッセージ・ボードの所有者には表示されませんが、メッセージ・ボードを表示する他のユーザーには表示されたままになります。

メッセージ・ボードのREST URL:

メッセージ・ボードURLフィルタのコンテキストは次のとおりです。

rest/api/messageBoards/<BOARD-TYPE>/<GUID>/<FILTER-TYPE>

説明:

  • <BOARD-TYPE>personまたはspaceのいずれか

  • <GUID >@meperson <GUID> (<BOARD-TYPE>がpersonの場合)またはspace <GUID> (<BOARD-TYPE>portalの場合)のいずれか

  • <FILTER-TYPE>person <BOARD-TYPE>の場合にのみ適用され、次のうちのいずれかです。

    • null - (デフォルト)すべてのメッセージを表示

    • private - プライベート・メッセージを表示

    • public - パブリック・メッセージを表示

    • hidden - 非表示かつパブリックのメッセージを表示

    • private_hidden - プライベートかつ非表示のメッセージを表示

適用されるHTMLメソッドのコンテキストで、使用可能なフィルタを次に示します。

GET

  • @me

    • すべて rest/api/messageBoards/person/@me

    • プライベート rest/api/messageBoards/person/@me/private

    • パブリック rest/api/messageBoards/person/@me/public

    • 非表示かつパブリック rest/api/messageBoards/person/@me/hidden

    • プライベートかつ非表示 rest/api/messageBoards/person/@me/private_hidden

  • person

    rest/api/messageBoards/person/<GUID>

    GUIDがログイン・ユーザーのGUIDと一致する場合は、@meと同じフィルタ操作が適用されます。GUIDが異なる場合は、使用可能なフィルタ操作はありません。

  • space

    rest/api/messageBoards/space/<GUID>

    可視性に基づくフィルタ操作は使用できません。

POST

  • @me

    • すべて rest/api/messageBoards/person/@me

    • プライベート

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "private"}
      
    • パブリック

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "public"}
      
    • 非表示かつパブリック

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "hidden"}
      
    • プライベートかつ非表示

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "private_hidden"}
  • person rest/api/messageBoards/person/<GUID> GUIDがログイン・ユーザーのGUIDと同じ場合は、GETのフィルタが適用されます。ユーザーが異なる場合は、次のフィルタが適用されます。

    • パブリック

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "public"}
      
    • プライベート

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "private"}
      
  • space

    rest/api/messageBoards/space/<GUID>

    可視性に基づくフィルタ操作は使用できません。

PUT

  • @me

    • すべて est/api/messageBoards/person/@me/messages/<msg guid>

    • プライベート

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "private"}
      
    • パブリック

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "public"}
      
    • 非表示かつパブリック

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "hidden"}
      
    • プライベートかつ非表示

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "private_hidden"}
  • person rest/api/messageBoards/person/<GUID>/messages/<msg guid> GUIDがログイン・ユーザーのGUIDと同じ場合は、GETのフィルタが適用されます。ユーザーが異なる場合は、次のフィルタが適用されます。

    • パブリック

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "public"}
      
    • プライベート

      {"body" : "<BODY_CONTENT>",
       "visibilityType" : "private"}
      
  • space

    rest/api/messageBoards/space/<GUID>/messages/<msg guid>

    可視性に基づくフィルタ操作は使用できません。

招待の作成

この項では、ピープル・コネクション・サービスREST APIを使用して別のユーザーを招待してコネクション・リストに追加する方法を示します。招待が作成された後、招待を受けた人は、受け入れるか拒否するかを選択できます。この例では、招待の削除方法も示します。

この項には次のトピックが含まれます:

招待の作成
  1. 最初のステップは、REST APIメソッドでの通常の場合と同様に、リソース索引を取得することです。

    GET http://<host:port>/rest/api/resourceIndex
    
  2. 次に、コネクションを持ちたい人を見つけます。これを行うには:

    1. リソース索引リストで、次のリソース・タイプを持つリンクについてスキャンします。

      urn:oracle:webcenter:people:person
      
    2. 招待したいユーザーの検索を実行します。この例では、ユーザーの名前はMontyです。

      GET http://<host:port>/rest/api/people?q=loginid:equals:monty&utoken=ASDF
      
    3. 図C-1に示すように、レスポンスでMontyのGUIDを探します。

      図C-1 ユーザーのGUIDを含むレスポンス

      図C-1の説明が続きます
      「図C-1 ユーザーのGUIDを含むレスポンス」の説明
    4. GUIDを保存し、それを使用してそのユーザーとコネクションを持てるようにします。

  3. 招待を受ける人のGUIDを把握したら、その人を追加するリソースを見つける必要があります。この場合は、自身のconnectionsにその人を追加します。

    自分のconnectionsリストを見つけるには、まず、ピープル・コネクションに関する項で"connections"を調べます。表C-39で、personリソースからconnectionsにリンクしていることがわかります。便宜上、この表を図C-2に示します。

    図C-2 connectionsリンクの検出

    図C-2の説明が続きます
    「図C-2 connectionsリンクの検出」の説明

    connectionspersonリソースからリンクしていることがわかったので、personリソースを見つける必要があります。URNが示すように、次のステップに従ってpeopleリソースからpersonリソースにナビゲートします。

  4. 次のように、リソース索引に戻ります(または、前回表示したresourceIndexのキャッシュされたバージョンを使用します)。

    GET http://<host:port>/rest/api/resourceIndex
    
  5. peopleリソースについてスキャンして、次のものを見つけます。

    urn:oracle:webcenter:people
    
  6. peopleリソースのリンクを使用して自身のリストにアクセスします。

    GET http://<host:port>/rest/api/people/@me/lists/@self?utoken=ASDF
    
  7. 表C-39に示されているresourceTypeおよびrelについて、返されたリンクを調べます。

    resourceType="urn:oracle:webcenter:people:person:list
    rel="urn:oracle:webcenter:people:person:list:connections
    
  8. 自身のconnectionsリストのURIを使用して招待を作成し、次のようにPOSTを実行します。

    POST http://<host:port>/rest/api/people/@me/lists/@connections?utoken=ASDF
     
    Headers --  Accept:application/json, Content-Type:application/json
    Body -- {"message":"Monty, do you want to join my connections list?","guid":"1AE5AF102E2611E09F062B573E287934"}
    
  9. これで、Montyのアカウントにログインしたときに、招待が追加されていることを確認できます(図C-3を参照)。

    図C-3 招待が表示されているアクティビティ・ストリーム

    図C-3の説明が続きます
    「C-3 招待が表示されているアクティビティ・ストリーム」の説明
招待の受入れ

招待が送信された後、次のステップでは、招待を受けた人(Monty)が招待を受け入れます。

  1. 2番目のRESTクライアントを使用して、次のようにリソース索引を取得します。

    GET http://<host:port>/rest/api/resourceIndex
    
  2. Montyとしてログインします。

  3. 次のリクエストを実行して、Montyに送信されたすべての招待をリストします。

    GET http://<host:port>/rest/api/people/invitations?q=invitee:equals:@me&utoken=ASDF
    

    レスポンスにリストされている各招待要素には、UPDATE操作をサポートするリンクが含まれており、それは次のようなものになります。

    <links>
    <link capabilities="urn:oracle:webcenter:delete urn:oracle:webcenter:update"
    href="http://<host:port>/rest/api/people/invitations/<invitationid>?utoken=ASDF"
    rel="self" resourceType="urn:oracle:webcenter:people:invitation"/>
    </links>
    <id><invitationid></id> 
    
  4. 招待を受け入れるには、次のリクエストを実行します。

    PUT http://<host:port>/rest/api/people/invitations/<invitationid>?utoken=ASDF
    
    Headers
      Accept -> application/xml
      Content-Type -> application/xml
     
    Body
      <invitation>
          <id><invitationid></id>
          <status>accepted</status>
      </invitation> 
招待の削除

招待を開始した後、invitor:equals:@meを指定することで、自身のアカウントからその招待を表示できます。たとえば:

GET http://<host:port>/rest/api/people/invitations?q=invitor:equals:@me&utoken=ASDF

レスポンスにリストされている各招待要素には、DELETE操作をサポートするリンクが含まれており、それは次のようなものになります。

<links>
<link resourceType="urn:oracle:webcenter:people:invitation" 
rel="self"
href="http://host_name:port_name/rest/api/people/invitations/
   e9073cdb-56ab-423d-8b1f-1220c802bdd4?
   utoken="FN0SEFwX42OCntwtx9a1dSbhqocO_w**" 
   capabilities="urn:oracle:webcenter:delete"/>
</links>

招待を受けた人は、自身のアカウントから招待を削除することもできます。招待を受けた人は、次のように指定することで自身の招待のリストを取得できます。

GET http://<host:port>/rest/api/people/invitations?q=invitee:equals:@me&utoken=ASDF

DELETEからのレスポンスは、単に204のステータス・コードです。

「検索REST APIの使用」

WebCenter Portalは、カスタマイズされた検索ユーザー・インタフェースを作成できるようにするREST APIを提供しています。検索REST APIを使用して検索およびファセットを読取り(GET)できます。ファセットは検索結果とともに返され、結果のフィルタ処理に使用できます。検索のキーワードと範囲を指定できます。たとえば、文字列「webcenter」の検索で何千もの結果が生成されたとします。URLでファセット(作成者または最終変更日付など)を使用し、author=Karenおよびlast-modified-date=this weekのように、特定のファセット値に対する結果を取得できます。

検索のエントリ・ポイント

各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。検索のエントリ・ポイントを検索するには、次のresourceTypeを持つリンク要素を検索します。

urn:oracle:webcenter:searchcollection

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供されます。クライアントはこのエントリ・ポイントにHTTPリクエストを送信して、検索を操作します。

ノート:

12c (12.2.1.3.0)以降、Oracle WebCenter Portalでは、オブジェクトの索引付けと検索を行うElasticsearchをサポートしています。以前のリリースからアップグレードした場合、Oracle SESを使用するようにWebCenter Portalを構成できます。

Oracle SESでは、リソース索引に次の2つの検索のエントリがあります。

  • urn:oracle:webcenter:searchcollection(これには、Oracle SES 11.2.2.2で構成されたWebCenter Portalが必要です。)

  • urn:oracle:webcenter:search:results (これには、サポートされている任意のバージョンのOracle SESで構成されたWebCenter Portalが必要です。)

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

検索のリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「リソース・タイプ」の該当の項を参照してください。

検索の分類は次のとおりです。

urn:oracle:webcenter:searchcollection
   urn:oracle:webcenter:searchcollection:results

サービス・エントリ・ポイントの他、URLテンプレートにより、クライアントは、問合せパラメータを渡してリクエストをカスタマイズしたり戻されたデータのフォームを制御できます。

検索リソース内のコレクション・リソースは、ページ区切り(startIndexおよびitemsPerPage)をサポートします。エントリ・ポイントはsearchcollection要素にすべての結果を返します。dataType引数の適切な値を指定して、様々なコンポーネントを問い合せます。

searchTermsdataおよびdataTypeでサポートされ、ここでdataTypeには、次の値のうち1つ以上が設定されます。

  • resultCount - 問合せを満たす結果の数

  • results - 実際の結果

  • facetCount - 問合せ結果に対するファセットの数

  • facets - 現在の結果に対するファセット

カンマで値を区切り、複数のdataTypeを指定します。たとえば:

http://host:port//rest/api/searchcollection?&dataType=results,facets
&facetParams=author:weblogic&utoken=FDX7xKPzzrnsbWRHNP-b-iUoWiJ4_w\*\\\\\\\\*
resultsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   searchcollection
resourceindex
   spaces
      spaces:resourceindex
         spaces:searchcollection
resultsでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: qdataTypestartIndex (ページ区切り)、itemsPerPage (ページ区切り)、datafacetParams

    • レスポンス - 本体: 検索結果およびオプションでファセット

説明:

  • q={queryString}

    検索は、次の形式を使用して指定できます。

    [[field1:[operand]][:]value1[;field2:operand:value2]]
    

    ここでは、複数の句が暗黙のANDによって結合され、セミコロン(;)によって構文的に区切られます。大かっこ[]は、オプションの値を示します。どの句もコロン(:)のセパレータを使用しない単純な文字列のキーワードにできます。

    問合せ文字列は問合せキーワード以外はサポートしません。

  • dataTypeは結果のタイプです

    たとえば、結果のみが必要な場合はdataType=results (または空のまま)とします。結果にファセットを含めるには、dataType=results,facetsとします。

  • dataはカスタム属性のパラメータです

    たとえば: data=author

    authorは管理者が追加したカスタム属性です。search-service-attributes.xmlファイルでカスタム属性を表示できます。カスタム属性の詳細は、「Elasticsearchのカスタム検索属性の構成」を参照してください。

  • facetParamsはファセット絞込みのパラメータです

    デフォルト・セットは、「サービスID」、スコープGUID、「タグ」、「作成者」、「最終更新日」、「MIMEタイプ」です。

    たとえば、人で絞り込むには、oracle.webcenter.doclibにのみファセット「サービスID」を次のように設定します。

    facetParams=Service%20ID:oracle.webcenter.doclib

    ノート:

    facetParamsパラメータを使用する場合は、dataTypeパラメータにfacetsを含める必要があります。

例: 検索RESTコマンド

http://examplehost:8888/rest/api/searchcollection?q=documentname&utoken={utoken}

http://examplehost:8888/rest/api/searchcollection?q={keyword}
&data=dDocName,dOriginalName&dataType=results,facets
&facetParams=Service%20ID:oracle.webcenter.people

次に、q=documentnameのサンプル・レスポンス本文を示します。


<search-result>
<name>DesignTime </name>
<object>
<links>
<link capabilities="urn:oracle:webcenter:read" href="host:port/webcenter/faces/owResource.jspx?z=oracle.webcenter.doclib%21s8bba98ff_4cbb_40b8_beee_296c916a23ed%21dev-ucm%2523dDocName%253ASLC09CPL9400028261%21%21DesignTime%2B" rel="urn:oracle:webcenter:wclink" resourceType="urn:oracle:webcenter:cmis:document" type="text/html"/>urn:oracle:webcenter:read rel="via" resourceType="urn:oracle:webcenter:cmis:document"/></links><url>/wccproxy/d?dDocName=test</url>

次に、data=authorのサンプル・レスポンス本文を示します。


<author>
<links>
     <link capabilities="urn:oracle:webcenter:read" href="host:port/rest/api/people/AB7807654CC2356F1/lists/@self?utoken=id" rel="via" resourceType="urn:oracle:webcenter:people:person" template="http://example.com:port/rest/api/people/ AB7807654CC2356F1/lists/@self?projection={projection}&data={data}&links={links}&utoken=id ><link capabilities="urn:oracle:webcenter:read" href="http://example.com:port/webcenter/profilephoto/AB7807654CC2356FGYRE76F1/SMALL?_xResourceMethod=wsrp" rel="urn:oracle:webcenter:people:icon" resourceType="urn:oracle:webcenter:people:person" template="http://example.com:port/webcenter/profilephoto/ AB7807654CC2356FGYRE76F1/{size}?_xResourceMethod=wsrp" type="image/png"/>
<link capabilities="urn:oracle:webcenter:read" href="http://example.com:port/webcenter/faces/owResource.jspx?z=oracle.webcenter.people%s8bbreerra98ff_4abb_40h8_bbbb_2456788%21weblogic%21%21weblogic" rel="alternate" resourceType="urn:oracle:webcenter:spaces:profile" type="text/html"/>
</links>
<resourceId>weblogic</resourceId>
<displayName>weblogic</displayName><guid> AB7807654CC2356FGYRE76F1</guid><id>weblogic</id></author>

詳細は、「テンプレート」を参照してください。

表C-60 resultsの書込み可能要素

要素 タイプ 説明

author

String

resultに書き込んだ任意のユーザー

resourceId

String

一意の識別子

serviceId

String

resultのサービスID、oracle.webcenter.doclibなど

title

String

resultのタイトル

description

String

resultの説明

modified

Date

最終更新日

size

Number

resultのサイズ

docid

String

ドキュメント識別子

created

Date

resultの最初の作成者

icon

String

resultタイプのアイコン

url

String

resultのURL

mimetype

String

resultのMIMEタイプ

guid

String

resultのGUID値

scope

String

ポータルのGUID値

scopename

String

ポータル名

リソース・タイプ

String

resultのタイプ

language

String

resultの言語

snippet

String

resultのスニペット

modifier

String

resultの更新者

customattributes

任意

データで指定される任意のカスタム属性のリスト

resultsからリンクされるリソース・タイプ

次の表に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-61 searchに関連するリソース・タイプ

rel リソース・タイプ

self

セキュリティに関する考慮事項

認証は、検索REST APIのメソッドを使用する前に必要です。

一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。

検索のリソース・タイプ

この項では、各リソース・タイプについて説明します。次のトピックが含まれています:

urn:oracle:webcenter:searchcollection:links

このリソース・タイプを使用して、リンクを含む問合せの読取り(GET)に使用するURIを識別します。 リクエストはURLによって表され、レスポンスはテンプレート・リンクまたはページ区切りリンクです。

たとえば、http://example.com:port/rest/api/searchcollection?q=DT&dataType=results,links&utoken=id

urn:oracle:webcenter:searchcollection:results

このリソース・タイプを使用して、キーワードとファセットを含む問合せの読取り(GET)に使用するURIを識別します。

リクエストはURLによって表され、レスポンスは検索結果のリストで、それぞれエンド・ユーザーがドリル・ダウンするアイテムを選択し、使用可能な場合は独自のRESTサービスへのリンクをクロスするうえで役立つメタデータを備えています。独自のRESTサービスが使用できない場合は、HREFリンクが提供されます。

レスポンスXMLでは、標準のURLパラメータと、前および次のリンクを使用してページを区切ることができます。(問合せが移入された)一般的なテンプレートに付属しているこれらのリンクにより、使用アプリケーションは固有のカスタム・ページ区切りを実行できます。

urn:oracle:webcenter:searchcollection:facets

このリソース・タイプを使用して、ファセットを含む問合せの読取り(GET)に使用するURIを識別します。ファセットは問合せ結果とともに返され、結果のフィルタに使用できます。これらのファセットをURLで使用し、author=weblogicおよびlast-modified-date=this weekのように特定のファセット値の結果を取得できます。

リクエストはURLによって表され、レスポンスはファセットのリストで、それぞれエンド・ユーザーがドリル・ダウンするアイテムを選択し、使用可能な場合は独自のRESTサービスへのリンクをクロスするうえで役立つメタデータを備えています。独自のRESTサービスが使用できない場合は、HREFリンクが提供されます。

レスポンスXMLでは、標準のURLパラメータと、前および次のリンクを使用してページを区切ることができます。(問合せが移入された)一般的なテンプレートに付属しているこれらのリンクにより、使用アプリケーションは固有のカスタム・ページ区切りを実行できます。

「タグREST APIの使用」

WebCenter Portalは、タグをサポートするためのREST APIを提供しています。タグREST APIを使用して、次のことを実行できます。

  • すべてのタグを検索するか、基準によって一部のタグを検索する

  • 特定のタグを取得する

  • タグを削除する

  • タグをアップデートまたは名前変更する

  • タグ付けされたアイテムを取得する

  • アイテムからタグを解除する

  • 新しいタグ付けしたアイテムを追加する

  • タグ付けしたアイテムのタグを変更する

  • タグ付けしたすべてのアイテムを検索するか、タグ付けしたアイテムを日付やタグ・ワードなどのフィルタによって検索する

  • タグによって関連ユーザーを取得する

この項では、タグに関連したREST APIについて説明します。次のトピックが含まれています:

REST APIの概要は、「WebCenter Portal REST APIの概要」を参照してください。

タグのエントリ・ポイント

各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。タグのエントリ・ポイントを見つけるには、次のいずれかのresourceTypeを持つリンク要素を見つけます。

  • urn:oracle:webcenter:tagging:tags

  • urn:oracle:webcenter:tagging:taggeditems

  • urn:oracle:webcenter:tagging:users

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供されます。クライアントはこのエントリ・ポイントにHTTPリクエストを送信して、タグを操作します。

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

タグのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「リソース・タイプ」の該当の項を参照してください。

タグの分類は、次のとおりです。

urn:oracle:webcenter:tagging:tags
   urn:oracle:webcenter:tagging:tag
urn:oracle:webcenter:tagging:taggedItems
   urn:oracle:webcenter:tagging:taggedItem
urn:oracle:webcenter:tagging:users 

usersの下に、peopleprofileなどのそのオブジェクトのリソース・タイプを追加できます。

サービス・エントリ・ポイントの他、URLテンプレートにより、クライアントは、問合せパラメータを渡してリクエストをカスタマイズしたり戻されたデータのフォームを制御できます。

タグ・リソース内のコレクション・リソースは、ページ区切り(タグとユーザーにはitemsPerPageおよびstartIndex、タグ付けしたアイテムにはitemsPerPage)をサポートします。その他の問合せパラメータ(searchおよびprojection)はサポートされていません。

セキュリティに関する考慮事項

認証は、REST APIのメソッドを使用する前に必要です。

一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。

タグのリソース・タイプ

この項では、各リソース・タイプについて説明します。次のトピックが含まれています:

urn:oracle:webcenter:tagging:tags

このリソース・タイプを使用して、URIを識別し、タグの参照(GET)に使用します。GET操作からのレスポンスには、すべてのタグ、特定のタグ、タグのサブセット、あるいは特定のタグまたはユーザーのリストに関連するタグが含まれています。

tagsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   tags 
resourceindex
   spaces
      spaces:resourceindex
         spaces:tags 
tagsでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: startIndexitemsPerPagekeywordserviceIdrelatedTaguserIdscopeGuidsharedtagsusers

    • レスポンス - 本体: tag

    説明:

    • startIndex - 結果セットに含める、最初に一致する結果のインデックスを指定します(0-n ... 0から始まる)。これはページ区切りに使用されます。

    • itemsPerPage - レスポンスで返す結果の最大数を指定します(1-n)。これはページ区切りに使用されます。

    • keyword - サブストリング・マッチ用のキーワードを指定します。

    • serviceId - タグを検索するためのサービスIDを指定します(すべての場合は、null)。

    • relatedTag - タグのリストに関連するタグを指定します。たとえば、アイテム1に「webcenter help」として、アイテム2に「webcenter document」としてタグ付けし、relatedTag=webcenterを設定した場合は、両方(helpとdocument)のタグが返されます。

    • userId - タグを検索する単一のユーザーIDを指定します(すべての場合は、null)。nullで共有タグが見つからない場合は、ログイン済ユーザーを使用します。

    • scopeGuid - ポータルのGUIDを指定します。ホーム・ポータルに設定すると、すべての(フィルタされていない)タグが表示されます。

    • shared - 個人用リソース(同じユーザーによってのみプライベートにタグ付けされたリソース)のみを返すにはtrueを指定し、システム・リソース(1つ以上のパブリック・タブを持つリソース)を返すにはfalseを指定します。

    • tags - URLエンコードのスペース(+)で区切られたこのタグ・リストでフィルタするように指定します。たとえば、「webcenter」と「help」がタグ付けされたアイテムは、tags=webcenter+helpで検索できます。

    • users - URLエンコードのスペース(+)で区切られたこのユーザー・リストでフィルタするように指定します。たとえば、users=monty+vicki+pat

ノート:

パラメータは一定の組合せのみで使用できます。

表C-62に、各操作で使用可能なパラメータの組合せを示します。たとえば、tagsパラメータはserviceIdパラメータと一緒には指定できません。

表C-62 タグの取得で使用可能なパラメータの組合せ

APIメソッド keyword serviceId relatedTag userId scopeGuid shared tags users

findRelatedSystemTags

-

-

X

-

X

-

X

X

findPopularTagsCommon

X

X

-

X

-

X

-

-

findPopularTags (GUIDを使用)

X

-

-

X

X

X

-

-

findPopularTags

X

-

-

X

-

X

-

-

tagsからリンクされるリソース・タイプ

resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。

表C-63に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグには、それ自身と、結果の次のページまたは前のページへのリファレンス・リンクがあります。

表C-63 tagsに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:tagging:tags

前/次

urn:oracle:webcenter:tagging:tags

urn:oracle:webcenter:tagging:tag

このリソース・タイプを使用して、URIを識別し、タグの参照(GET)、名前変更(PUT)および削除(DELETE)に使用します。GET操作からのレスポンスには、すべてのタグ、特定のタグ、タグのサブセット、あるいは特定のタグまたはユーザーのリストに関連するタグが含まれています。

tagへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   tags
      tag
resourceindex
   spaces
      spaces:resourceindex
         spaces:tags
            spaces:tag
tagでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: なし

    • レスポンス - 本体: tag

  • PUT

    • リクエスト - 本体: tag

    • レスポンス - 本体: tag

  • DELETE

    • リクエスト - 本体: なし

    • レスポンス - 本体: なし

例: タグ名を変更するためのPUTコマンドの本文

<tag>
<name>newId</name>
</tag>
tagからリンクされるリソース・タイプ

resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。

表C-64に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグには、それ自身、関連するtaggedItem、関連するユーザーおよび関連するタグへのリファレンス・リンクがあります。

urn:oracle:webcenter:tagging:taggedItems

このリソース・タイプを使用して、タグ付けされたアイテムと関連するリソースを参照するため(GET)またはタグ付けされたアイテムを追加するため(POST)に使用するURIを識別します。

GET操作のレスポンスには、1つのタグ付きアイテムまたは日付、タグ・ワードなどでフィルタできるすべてのタグ付きアイテムが含まれています。各タグには、そのタグでの操作に使用されるリンクがあります。POST操作のレスポンスには、このタグのコレクション内で作成されたタグ付きアイテムとそれらのタグでの操作に使用されるリンクが含まれています。

taggedItemsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   taggedItems
resourceindex
   spaces
      spaces:resourceindex
         spaces:taggedItems
taggedtemsでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • POST

    • リクエスト - 本体: taggedItem

    • レスポンス - 本体: taggedItem

    <taggeditem>
       <serviceId>oracle.webcenter.page</serviceId>
      
    <resourceId>/oracle/webcenter/page/somepath/someotherpath/a.jspx</resourceId>
       <tagWords>foo bar boo far</tagWords>
       <resourceTitle>This is renamed by me to be foofoo</resourceTitle>
       <scopeGuid>(optional) scope for the item</scopeGuid>
       <shared>(optional) make the item private </shared>
     </taggeditem> 
    
  • GET

    • リクエスト - 本体: なし、パラメータ: serviceIdkeywordrelatedRIDtagsusersdtscopeGuidshareditemsPerPage

    • レスポンス - 本体: タグ付けしたアイテム

    説明:

    • serviceId - アイテムのサービスIDを指定します。

    • keyword - リソースのタイトルのキーワードを指定します。

    • relatedRID - 関連するタグを指定します。たとえば、アイテム1に「webcenter help」として、アイテム2に「fusionapps documents」として、アイテム3に「webcenter documents」としてタグ付けし、relatedRID=item3を設定すると、アイテム3と共通のタグを共有しているため、アイテム1とアイテム2が返されます。

    • tags - URLエンコードのスペース(+)で区切られたこのタグ・リストでフィルタするように指定します。たとえば、「webcenter」と「help」がタグ付けされたアイテムは、tags=webcenter+helpで検索できます。

    • users - URLエンコードのスペース(+)で区切られたこれらのユーザーでフィルタするように指定します。たとえば、{USER}+{USER}+...+{USER}。

    • dt - この日付、デフォルトではブックマークが保存された最近の日付{DD-MM-CCYY}でブックマークをフィルタするように指定します。

    • scopeGuid - ポータルのGUIDを指定します。ホーム・ポータルに設定すると、すべての(フィルタされていない)タグが表示されます。

    • shared - 個人用リソース(同じユーザーによってのみプライベートにタグ付けされたリソース)のみを返すにはtrueを指定し、システム・リソース(1つ以上のパブリック・タブを持つリソース)を返すにはfalseを指定します。

    • itemsPerPage - レスポンスで返す結果の最大数を指定します(1-n)。これはページ区切りに使用されます。

ノート:

パラメータは一定の組合せのみで使用できます。

表C-65に、各操作で使用可能なパラメータの組合せを示します。たとえば、tagsパラメータはserviceIdパラメータと一緒には指定できません。

表C-65 タグ付きアイテムの取得で使用可能なパラメータの組合せ

APIメソッド serviceId keyword relatedRID tags users dt scopeGuid shared

findRelatedSystemResources

X

-

X

-

-

-

-

-

findUpdatedResources

-

-

-

-

-

X

X

-

findSystemResources

-

-

X

X

-

X

X

findFilterPersonalResources

X

X

-

-

-

-

X

-

findPersonalResources

-

-

-

X

X

-

X

X

findFilteredPersonalResources (キーワードなし)

X

-

-

-

-

-

X

-

taggedItemsからリンクされるリソース・タイプ

resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。

表C-66に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグ付きアイテムには、それ自身と、結果の次のページまたは前のページへのリファレンス・リンクがあります。

表C-66 taggedItemsに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:tagging:taggedItems

前/次

urn:oracle:webcenter:tagging:taggedItems

urn:oracle:webcenter:tagging:taggedItem

このリソース・タイプを使用して、タグ付けされたアイテムと関連するリソースを参照するため(GET)、タグ付けされたアイテムを追加するため(POST)、タグ付けされたアイテムのタグを更新するため(PUT)およびアイテムからすべてのタグを削除するため(DELETE)に使用するURIを識別します。

GET操作のレスポンスには、1つのタグ付きアイテムまたは日付、タグ・ワードなどでフィルタできるすべてのタグ付きアイテムが含まれています。各タグには、そのタグでの操作に使用されるリンクがあります。POST操作のレスポンスには、このタグのコレクション内で作成されたタグ付きアイテムとそのタグ付きアイテムで操作するためのリンクが含まれています。

taggedItemへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   taggedItems
      taggedItem
 
resourceindex
   spaces
      spaces:resourceindex
         spaces:taggedItems
            spaces:taggedItem
taggedItemでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: serviceIdkeywordtagsusersdtshareditemsPerPage

    • レスポンス - 本体: タグ付けしたアイテム

    説明:

    • serviceId - アイテムのサービスIDを指定します。

    • keyword - リソースのタイトルのキーワードを指定します。

    • tags - URLエンコードのスペース(+)で区切られたこのタグ・リストでフィルタするように指定します。たとえば、「webcenter」と「help」がタグ付けされたアイテムは、tags=webcenter+helpで検索できます。

    • users - URLエンコードのスペース(+)で区切られたこのユーザー・リストでフィルタするように指定します。たとえば、users=monty+vicki+pat

    • dt - この日付、デフォルトではブックマークが保存された最近の日付{DD-MM-CCYY}でブックマークをフィルタするように指定します。

    • shared - 個人用リソース(同じユーザーによってのみプライベートにタグ付けされたリソース)のみを返すにはtrueを指定し、システム・リソース(1つ以上のパブリック・タブを持つリソース)を返すにはfalseを指定します。

    • itemsPerPage - レスポンスで返す結果の最大数を指定します(1-n)。これはページ区切りに使用されます。

  • PUT

    • リクエスト - 本体: taggedItem

    • レスポンス - 本体: taggedItem

    <taggeditem>
    <tagWords>foo bar boo far</tagWords>
    </taggeditem>
    
  • DELETE

    • リクエスト - 本体: なし

    • レスポンス - 本体: なし

taggedItemからリンクされるリソース・タイプ

resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。

表C-67に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグ付きアイテムには、それ自身および関連するタグ付きアイテムへのリファレンス・リンクと外部リンクがあります。

表C-67 taggedItemに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:tagging:taggedItem

urn:oracle:webcenter:tagging:taggedItems

alternate

リソースのタイプは、タグが付けられたリソースのタイプによって異なります。たとえば、ページはurn:oracle:webcenter:page:pageのようになります

urn:oracle:webcenter:tagging:users

このリソース・タイプを使用して、特定のタグのリストに関係するピープルのリストを取得します。

usersへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   taggingusers
resourceindex
   spaces
      spaces:resourceindex
         spaces:taggingusers
usersでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: startIndexitemsPerPagetagsusers

    • レスポンス - 本体: peopleプロファイル

    説明:

    • startIndex - 結果セットに含める、最初に一致する結果のインデックスを指定します(0-n ... 0から始まる)。これはページ区切りに使用されます。

    • itemsPerPage - レスポンスで返す結果の最大数を指定します(1-n)。これはページ区切りに使用されます。

    • tags - URLエンコードのスペース(+)で区切られたこのタグ・リストでフィルタするように指定します。たとえば、「webcenter」と「help」がタグ付けされたアイテムは、tags=webcenter+helpで検索できます。

    • users - URLエンコードのスペース(+)で区切られたこのユーザー・リストでフィルタするように指定します。たとえば、users=monty+vicki+pat

usersからリンクされるリソース・タイプ

resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。

表C-68に、個々のユーザーがこのリソースからリンクできるリソース・タイプを示します。ユーザーには、それ自身と、結果の次のページまたは前のページへのリファレンス・リンクがあります。

表C-68 usersに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:tagging:users

前/次

urn:oracle:webcenter:tagging:users

「ディスカッションREST APIの使用」

WebCenter Portalは、ディスカッションをサポートするためのREST APIを提供しています。ディスカッションのREST APIを使用すると、ディスカッション・フォーラム、トピックおよびメッセージを投稿、参照、更新および削除できます。

ノート:

12c (12.2.1.3.0)からは、Oracle WebCenter PortalでのJive機能(お知らせとディスカッション)のサポートは非推奨になりました。 以前のリリースからアップグレードする場合、これらの機能はアップグレード対象の既存のインストールで引き続き使用できます。

この項では、ディスカッションに関連するREST APIメソッドについて説明します。次のトピックが含まれています:

ディスカッションのエントリ・ポイント

各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。ディスカッションのエントリ・ポイントを見つけるには、次のresourceTypeを持つリンク要素を見つけます。

urn:oracle:webcenter:discussions:forums

対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供されます。クライアントはこのエントリ・ポイントにHTTPリクエストを送信して、ディスカッションを操作します。

リソース索引の詳細は、「リソース索引の使用」を参照してください。

リソース・タイプの詳細は、「リソース・タイプ」を参照してください。

ディスカッションのリソース・タイプの分類

クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「リソース・タイプ」の該当の項を参照してください。

ディスカッションの分類は、次のとおりです。

urn:oracle:webcenter:discussions:forums
   urn:oracle:webcenter:discussions:forum
   urn:oracle:webcenter:discussions:forum:topics
      urn:oracle:webcenter:discussions:forum:topic
      urn:oracle:webcenter:discussions:forum:topic:messages
         urn:oracle:webcenter:discussions:forum:topic:message

サービス・エントリ・ポイントの他、URLテンプレートにより、クライアントは、問合せパラメータを渡してリクエストをカスタマイズしたり戻されたデータのフォームを制御できます。

ディスカッション・リソース内のコレクション・リソースは、ページ区切り(startIndexおよびitemsPerPage)をサポートします。その他の問合せパラメータ(searchprojection)はサポートされていません。

セキュリティに関する考慮事項

ディスカッションでは、セキュリティに関する特定の考慮事項はありません。一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIの概要」を参照してください。

ディスカッションのリソース・タイプ

この項では、各リソース・タイプについて説明します。次のトピックが含まれています:

urn:oracle:webcenter:discussions:forums

ディスカッション・フォーラムの参照(GET)および書込み(POST)に使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、このフォーラム・コレクション内の各フォーラムが含まれており、各フォーラムには、そのフォーラムの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このフォーラム・コレクションに作成されたフォーラムと、そのフォーラムを操作するリンクが含まれています。

forumsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   forums
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
forumsでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: startIndexitemsPerPage (ページ区切り)

    • レスポンス - 本体: forums

  • POST

    • リクエスト - 本体: forum

    • レスポンス - 本体: forum

1ページに表示されるフォーラムの数のデフォルトは10です。詳細は、「テンプレート」を参照してください。

forumsからリンクされるリソース・タイプ

表C-69に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-69 forumsに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:discussions:forums

urn:oracle:webcenter:discussions:forum

urn:oracle:webcenter:discussions:forum

特定のディスカッション・フォーラムの参照(GET)、更新(PUT)および削除(DELETE)で使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、URIで識別された特定のフォーラムが含まれています。PUT操作からのレスポンスには、URIで識別されるフォーラムの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。

forumへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   forums
      forum
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            forum
resourceindex
   activities
      forum
forumでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし

    • レスポンス - 本体: forum

  • PUT

    • リクエスト - 本体: forum

    • レスポンス - 本体: forum

  • DELETE

    • リクエスト - 本体: なし

    • レスポンス - 本体: なし

forumの書込み可能要素

表C-70に、このリソースの書込み可能要素を示します。

表C-70 forumの書込み可能要素

要素 タイプ 必須 制約 説明

name

String

はい

1文字以上の文字

フォーラムの名前

displayName

String

いいえ

1文字以上の文字

表示に使用される名前

description

String

いいえ

1文字以上の文字

フォーラムの説明

forumの読取り専用要素

表C-71に、このリソースの読取り専用要素を示します。

表C-71 forumの読取り専用要素

要素 タイプ 説明

id

Integer

フォーラムのID

parentId

Integer

親カテゴリのID

createdBy

String

フォーラムを作成したユーザーのID

author

personReference

フォーラムを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます(createdByと同じユーザー)。

createdOn

Date

フォーラムが作成された日付

updatedBy

String

最後に変更を行ったユーザーのID

modifiedBy

personReference

最後に変更を行ったユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます(updatedByと同じユーザー)。

updatedOn

Date

フォーラムが最後に変更された日付

webUrl

String

ディスカッション・サーバーへのダイレクト・アクセスURL

topicCount

Integer

トピック数

messageCount

Integer

メッセージ数

locked

Boolean

フォーラムがロックされている場合はTrue

favorite

Boolean

このフォーラムがお気に入りとしてマークされている場合はTrue

forumからリンクされるリソース・タイプ

表C-72に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-72 forumに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:discussions:forum

urn:oracle:webcenter:discussions:forum:topics

urn:oracle:webcenter:discussions:forum:topics

ディスカッション・トピックの参照(GET)および書込み(POST)に使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、このトピック・コレクション内の各トピックが含まれており、各トピックには、そのトピックの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このトピック・コレクションに作成されたトピックと、そのトピックを操作するリンクが含まれています。

topicsへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   forums
      topics
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics
topicsでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: startIndexitemsPerPage (ページ区切り)

    • レスポンス - 本体: topics

  • POST

    • リクエスト - 本体: topic

    • レスポンス - 本体: topic

詳細は、「テンプレート」を参照してください。

topicsからリンクされるリソース・タイプ

表C-73に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-73 topicsに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:discussions:forum:topics

urn:oracle:webcenter:discussions:forum:topic

urn:oracle:webcenter:discussions:forum:topic

特定のディスカッション・トピックの参照(GET)、更新(PUT)および削除(DELETE)で使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、URIで識別される特定のトピックが含まれています。PUT操作からのレスポンスには、URIで識別されたトピックの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。

topicへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   forums
      topics
         topic
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics
               topic
resourceindex
   activities
      topicT
topicでサポートされるメソッド

次のメソッドは、このリソース・タイプでサポートされています。

  • GET

    • リクエスト-本体: なし

    • レスポンス-本体: topic

  • PUT

    • リクエスト-本体: topic

    • レスポンス-本体: topic

  • DELETE

    • リクエスト-本体: なし

    • レスポンス-本体: なし

topicの書込み可能要素

表C-74に、このリソース・タイプの書込み可能要素を示します。

表C-74 topicの書込み可能要素

要素 タイプ 必須 制約 説明

subject

String

はい

1文字以上の文字

トピックの件名

body

String

いいえ

0文字以上の文字

トピックの内容

topicの読取り専用要素

表C-75に、このリソース・タイプの読取り専用要素を示します。

表C-75 topicの読取り専用要素

要素 タイプ 説明

id

Integer

トピックの識別子

parentId

Integer

親メッセージの識別子

forumId

Integer

このトピックの投稿先フォーラムの識別子

topicId

Integer

このトピックの投稿先トピックの識別子

createdBy

String

トピックを作成したユーザーのID

author

personReference

トピックを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます(createdByと同じユーザー)。

createdOn

Date

トピックが作成された日付

updatedBy

String

トピックを最後に更新したユーザー

updatedOn

Date

トピックが最後に更新された日付

webUrl

String

ディスカッション・サーバーへのダイレクト・アクセスURL

depth

Integer

メッセージの階層の深度

messageCount

Integer

このトピックの下の子メッセージ数

numberOfReplies

Integer

このトピックに対する返信数

favorite

Boolean

そのユーザーでは、このトピックがお気に入りとしてのマークされているかどうか

locked

Boolean

トピックがロックされているかどうか

hidden

Boolean

トピックが非表示かどうか

hasAttachment

Boolean

トピックの添付の有無

topicからリンクされるリソース・タイプ

表C-76に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-76 topicに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:discussions:forum:topic

urn:oracle:webcenter:discussions:forum:topic:messages

urn:oracle:webcenter:discussions:forum:topic:messages

ディスカッション・トピック・メッセージの参照(GET)および書込み(POST)に使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、このメッセージ・コレクション内の各メッセージが含まれており、各メッセージには、そのメッセージの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このメッセージ・コレクションに作成されたメッセージと、そのメッセージを操作するリンクが含まれています。

messagesへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   forums
      topics
         messages
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics
               messages
messagesでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし、パラメータ: startIndexitemsPerPage (ページ区切り)

    • レスポンス - 本体: messages

  • POST

    • リクエスト - 本体: message

    • レスポンス - 本体: message

詳細は、「テンプレート」を参照してください。

messagesからリンクされるリソース・タイプ

表C-77に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-77 messagesに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:discussions:forum:topic:messages

urn:oracle:webcenter:discussions:forum:topic:message

urn:oracle:webcenter:discussions:forum:topic:message

特定のディスカッション・トピック・メッセージの参照(GET)、更新(PUT)および削除(DELETE)で使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、URIで識別される特定のメッセージが含まれています。PUT操作からのレスポンスには、URIで識別されるメッセージの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。

messageへのナビゲーション・パス

この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:

resourceindex
   forums
      topics
         messages
            message
 
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics
               messages
                  message
messageでサポートされるメソッド

次のメソッドは、このリソースによりサポートされています:

  • GET

    • リクエスト - 本体: なし

    • レスポンス - 本体: message

  • PUT

    • リクエスト - 本体: message

    • レスポンス - 本体: message

  • DELETE

    • リクエスト - 本体: なし

    • レスポンス - 本体: なし

messageの書込み可能要素

表C-78に、このリソースの書込み可能要素を示します。

表C-78 messageの書込み可能要素

要素 タイプ 必須 制約 説明

subject

String

はい

1文字以上の文字

このメッセージの件名

body

String

いいえ

0文字以上の文字

このメッセージの内容

messageの読取り専用要素

表C-79に、このリソースの読取り専用要素を示します。

表C-79 messageの読取り専用要素

要素 タイプ 説明

id

Integer

メッセージのID

parentId

Integer

親メッセージのID

forumId

Integer

メッセージの投稿先フォーラムのID

topicId

Integer

メッセージの投稿先トピックのID

createdBy

String

メッセージを作成したユーザーのID

author

personReference

メッセージを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます(createdByと同じユーザー)。

createdOn

Date

メッセージが作成された日付

updatedBy

String

最後に変更を行ったユーザー

updatedOn

Date

メッセージが最後に変更された日付

webUrl

String

ディスカッション・サーバーへのダイレクト・アクセスURL

depth

Integer

メッセージの階層の深度

messageCount

Integer

メッセージ数

numberOfReplies

Integer

このメッセージに対する返信数

hidden

Boolean

このメッセージが非表示の場合はTrue

hasAttachment

Boolean

メッセージに添付がある場合はTrue

messageからリンクされるリソース・タイプ

表C-80に、クライアントがこのリソースからリンクできるリソース・タイプを示します。

表C-80 messageに関連するリソース・タイプ

rel リソース・タイプ

self

urn:oracle:webcenter:discussions:forum:topic:message

urn:oracle:webcenter:discussions:forum:topic:messages

WebCenter Portal REST APIの例

この項では、WebCenter Portal REST APIの使用方法のサンプルを示します。次のトピックが含まれています:

メッセージ・ボード・ハイパーメディアのナビゲーション

この項では、RESTサービス・ハイパーメディアのナビゲーション方法のサンプルを示します。サンプルは、メッセージ・ボード上のメッセージの読取り、別のユーザーのメッセージ・ボードへのメッセージの投稿、不要なメッセージの削除およびメッセージ・ボードのメッセージをフィルタ処理する方法を示しています。

この項には次のトピックが含まれます:

リソース索引へのアクセス

最初のステップは、次の例に示すように、いつもリソース索引にアクセスします。

例: リソース索引へのアクセス

GET /resourceIndex

このリクエストは、メッセージ・ボードのエントリ・ポイントを含めて、RESTfulサービスへの最上位レベルURIエントリ・ポイントのリストを返します。

例: リソース索引へのアクセスに対するレスポンス

200 OK
Accept: application/json;charset=UTF-8

{
  "resourceType": "urn:oracle:webcenter:resourceindex",
  "links": [
    {
      "resourceType": "urn:oracle:webcenter:resourceindex",
      "capabilities": "urn:oracle:webcenter:read",
      "rel": "self",
      "href": "http://host:port/rest/api/resourceIndex"
    },
    {
      "resourceType": "urn:oracle:webcenter:messageBoard",
      "capabilities": "urn:oracle:webcenter:read",
      "href": "opaque-messageBoard-URI"
    },
  ...repeating for other services...
}

このリストを調べて、メッセージ・ボードへのアクセスに必要なURIを見つけることができます。resourceTypeurn:oracle:webcenter:messageBoardであるリンクを探します。このリンクのhrefが、メッセージ・ボードへのアクセスに必要なものです。

他のリソースのreltypeおよびtemplateも、正しいリンクを見つける上で役立ちます。

メッセージの読取り

メッセージ・ボードの正しいURIがわかると、そのURIにGETリクエストを送信してメッセージを読み取ることができます。

メッセージ・ボード上のメッセージを読み取るには、ログインする必要があります。

例: メッセージ・ボードからのメッセージの取得(GET)

GET /opaque-messageBoard-URI

レスポンスは、メッセージ・ボード上のすべてのメッセージに関する情報を提供します。

例: メッセージ・ボードからのメッセージの取得に対するレスポンス

200 OK
Accept: application/json;charset=UTF-8
 
{
  "resourceType": "urn:oracle:webcenter:messageBoard",
  "links": [
    {
      "resourceType": "urn:oracle:webcenter:messageBoard",
      "capabilities": "urn:oracle:webcenter:read urn:oracle:webcenter:create",
      "rel": "self",
      "href": "opaque-messageBoard-URI"
    }
  ]
  "items": [
    {
      "resourceType": "urn:oracle:webcenter:messageBoard:message",
      "links": [
        {
          "resourceType": "urn:oracle:webcenter:messageBoard:message",
          "capabilities": "urn:oracle:webcenter:read urn:oracle:webcenter:delete",
          "rel": "self",
          "href": "opaque-message-URI"
        }
      ]
      "id": "89add57c-7a35-4d35-b24f-ea9259612eb8",
      "body": "What's up?  It's been a while.  Some of us are going to Conner O'Neal's after work.  Want to go?",
      "created": "2009-09-10T11:18:46.696-0700",
      "author": {
        "id": "carl",
        "displayName": "carl",
        "guid": "649A27F09D5C11DEBFAA799CBD41D9B8",
        "links": [
          {
            "resourceType": "urn:oracle:webcenter:people:person",
            "capabilities": "urn:oracle:webcenter:read",
            "rel": "via",
            "href": "opaque-person-URI"
          },
          {
            "resourceType": "urn:oracle:webcenter:messageBoard",
            "capabilities": "urn:oracle:webcenter:read urn:oracle:webcenter:create",
            "href": "opaque-messageBoard-URI-for-Carl"
          },
          {
            "type": "text/html",
            "resourceType": "urn:oracle:webcenter:spaces:profile",
            "capabilities": "urn:oracle:webcenter:read",
            "rel": "alternate",
            "href": "opaque-profile-URI"
          }
        ]
      },
    }
  ],
  "startIndex": 0,
  "itemsPerPage": 1,
}

レスポンスから、メッセージ・ボードに対してreadおよびcreateの機能を持つことがわかります。したがって、コンテンツの読取りおよび新しいメッセージの投稿が行えます。

さらに、レスポンスにはアイテムのコレクションも含まれます(この例では、コレクションは1つのアイテムのみで構成されています)。これらのアイテムは、resourceTypeurn:oracle:webcenter:messageBoard:messageである、メッセージ・ボード上のメッセージです。メッセージのcapabilities属性は、この特定のメッセージについて、メッセージ・ボードからの読取りおよび削除が行えることを示しています。

各メッセージについて、レスポンスは次の情報を提供します。

  • id - メッセージの識別子

  • body - メッセージのテキスト

  • author - メッセージの作成者。author要素も、別の複数の要素で構成されます。

    • id - メッセージの作成者の識別子またはユーザー名

    • displayName - 表示用に書式設定された作成者の名前

    • guid - 作成者のグローバル一意識別子

author要素の中には、3つのリンクのコレクションもあります。これらのリンクのresourceTypeは、次のとおりです。

  • urn:oracle:webcenter:people:person: メッセージの作成者に関する情報を表示できます

  • urn:oracle:webcenter:messageBoard: 作成者のメッセージ・ボードでメッセージの読取りまたは作成を行えます

  • urn:oracle:webcenter:spaces:profile: 作成者のプロファイルのtext/htmlドキュメントを読み取れます

新規メッセージの作成

自分のメッセージ・ボード上のメッセージを読み、Carlのメッセージ・ボードに返信するとします。このためには、Carlのメッセージ・ボードのURIにPOSTリクエストを送信する必要があります。

正しいURIを見つけるには、resourceTypeurn:oracle:webcenter:messageBoardである、authorリンクのhrefを使用します。

POSTリクエストにより、投稿先のリソースの従属リソースが作成されます。この例ではmessageBoardに投稿しているため、その従属リソースであるmessageを投稿する必要があります。

例: 別のユーザーのメッセージ・ボードへのメッセージの作成(POST)

POST opaque-messageBoard-URI-for-Carl
Accept: application/json;charset=UTF-8
Content-Type: application/json;charset=UTF-8
 
{
    "body": "sure; see you guys at 6."
}

レスポンスは、Carlのメッセージ・ボードにメッセージが正常に作成されたことを示しています。

例: 別のユーザーのメッセージ・ボードへのメッセージの作成に対するレスポンス

201 Created
Content-Type: application/json;charset=UTF-8
 
{ 
  "id": "36b8464f-afda-44b5-90ad-8ecedcb040a3", 
  "body": "sure; see you guys at 6.", 
  "created": "2009-09-10T12:21:09.785-0700", 
  "resourceType": "urn:oracle:webcenter:messageBoard:message", 
  "links": [ 
    { 
      "resourceType": "urn:oracle:webcenter:messageBoard:message", 
      "capabilities": "urn:oracle:webcenter:read urn:oracle:webcenter:update urn:oracle:webcenter:delete", 
      "rel": "self", 
      "href": "opaque-message-URI" 
    },
  "author": { 
    "id": "mike", 
    "displayName": "mike", 
    "guid": "649657609D5C11DEBFAA799CBD41D9B8", 
    "links": [ 
      { 
        "resourceType": "urn:oracle:webcenter:people:person", 
        "capabilities": "urn:oracle:webcenter:read", 
        "rel": "self", 
        "href": "opaque-person-URI" 
      }, 
      { 
        "resourceType": "urn:oracle:webcenter:messageBoard", 
        "capabilities": "urn:oracle:webcenter:read urn:oracle:webcenter:create", 
        "href": "opaque-messageBoard-URI" 
      }, 
      { 
        "type": "text/html", 
        "resourceType": "urn:oracle:webcenter:spaces:profile", 
        "capabilities": "urn:oracle:webcenter:read", 
        "rel": "alternate", 
        "href": "opaque:profile:URI" 
      } 
    ] 
  }
  ] 
}
メッセージの更新

PUTリクエストはPOSTリクエストによく似ていますが、親リソースではなく、編集されているリソースで実行される点が異なります。

Carlのメッセージ・ボードにメッセージを作成した場合、先のPOSTリクエストに対するレスポンスから、メッセージに関してreadupdateおよびdeleteの機能を持つことがわかります。また、hrefでメッセージのURIもわかります。たとえば、急な仕事が入り、もう少し残ることが必要になったとします。メッセージのURIを使用すると、PUTリクエストを送信してメッセージを更新し、遅れることをCarlに伝えることができます。

例: メッセージの更新(PUT)

PUT opaque:message:URI
Accept: application/json;charset=UTF-8
Content-Type: application/json;charset=UTF-8
 
{
    "body": "working late; see you guys at 7."
}

レスポンスはPOSTのレスポンスとほぼ同じですが、bodyに更新されたメッセージがある点が異なります。

例: メッセージの更新

200 OK
Content-Type: application/json;charset=UTF-8
 
{ 
  "id": "36b8464f-afda-44b5-90ad-8ecedcb040a3", 
  "body": "working late; see you guys at 7.", 

...deleted for brevity...

}
メッセージの削除

リソースのdelete機能を持っている場合、リソースに対してDELETEリクエストを実行すると、そのリソースは削除されます。Carlのメッセージ・ボード上のメッセージへのリンクは、deleteをサポートしています。

Carlのメッセージ・ボードに残したメッセージを削除することにします。

例: メッセージの削除(DELETE)

DELETE opaque:message:URI

レスポンスは、ステータス・コード204のみです。

例: メッセージの削除に対するレスポンス

204 NO CONTENT

ノート:

DELETEはべき等です。つまり、複数回送信しても同じ結果が得られます。そのため、同じオブジェクトを2回削除しようとすると、以前に削除していても引き続き同じ204レスポンスを受信します。

メッセージのフィルタ処理

メッセージは、可視性条件に基づき、(GET、POSTおよびPUTのHTTP動詞を使用して)フィルタ処理できます。メッセージ・ボードに投稿されたメッセージは次の可視性カテゴリに分けられます。

  • パブリック

  • プライベート

  • 非表示

  • パブリックかつ非表示

  • プライベートかつ非表示

パブリック・メッセージとプライベート・メッセージの場合

メッセージ・ボードの所有者は、任意のメッセージをプライベートとしてマークできます。メッセージがプライベートとしてマークされると、そのメッセージは、メッセージの所有者以外には表示されません。デフォルトで、すべてのメッセージはパブリックです。

メッセージをプライベート・メッセージとして送信することもできます。たとえば、MikeがCarlのメッセージ・ボードを表示している場合、ユーザーであるMikeにはパブリック・メッセージのみ(プライベートとして送受信されたパブリック・メッセージも含む)が表示されます。

非表示メッセージと表示メッセージの場合

メッセージ・ボードの所有者は、任意のメッセージを非表示としてマークできます。メッセージが非表示としてマークされると、そのメッセージはメッセージ・ボードの所有者には表示されませんが、メッセージ・ボードを表示する他のユーザーには表示されたままになります。

次に、取得方法の例を示します。

例: フィルタ処理されたメッセージの取得(GET)

  • me

       all
         rest/api/messageBoards/person/@me 
       private
         rest/api/messageBoards/person/@me/private
       public
         rest/api/messageBoards/person/@me/public
       hidden and public
         rest/api/messageBoards/person/@me/hidden 
       private and hidden
         rest/api/messageBoards/person/@me/private_hidden
    
  • person

       rest/api/messageBoards/person/<GUID> 
    

    メッセージを取得するログイン・ユーザーのGUIDが必要であることに注意してください。

  • space-guid

       rest/api/messageBoards/space/<GUID>
    

    space-guidでは可視性に基づくフィルタ処理が使用できないことに注意してください。

例: 新しいメッセージに対するフィルタ処理の使用(POST)

  • me

       all
         rest/api/messageBoards/person/@me 
       private
         {"body" : "<BODY_CONTENT>","visibilityType" : "private"}
       public
         {"body" : "<BODY_CONTENT>","visibilityType" : "public"}
       hidden and public
        {"body" : "<BODY_CONTENT>","visibilityType" : "hidden"}
       private and hidden
         {"body" : "<BODY_CONTENT>","visibilityType" : "private_hidden"}
    
  • person

       rest/api/messageBoards/person/<GUID> 
    

    「me」以外のGUIDの場合:

       public 
         {"body" : "<BODY_CONTENT>","visibilityType" : "public"}
       private
         {"body" : "<BODY_CONTENT>","visibilityType" : "private"}
    
  • space-guid

       rest/api/messageBoards/space/<GUID>
    

    space-guidでは可視性に基づくフィルタ処理が使用できないことに注意してください。

例: 変更されたメッセージに対するフィルタ処理の使用(PUT)

  • me

       all
         rest/api/messageBoards/person/@me/messages/<msg guid>
       private
         {"body" : "<BODY_CONTENT>","visibilityType" : "private"}
       public
         {"body" : "<BODY_CONTENT>","visibilityType" : "public"}
       hidden and public
        {"body" : "<BODY_CONTENT>","visibilityType" : "hidden"}
       private and hidden
         {"body" : "<BODY_CONTENT>","visibilityType" : "private_hidden"}
    
  • person

       rest/api/messageBoards/person/<GUID>/messages/<msg guid>
    

    「me」以外のGUIDの場合:

       public 
         {"body" : "<BODY_CONTENT>","visibilityType" : "public"}
       private
         {"body" : "<BODY_CONTENT>","visibilityType" : "private"}
    
  • space-guid

       rest/api/messageBoards/space/<GUID>/messages/<msg guid>
    

    space-guidでは可視性に基づくフィルタ処理が使用できないことに注意してください。

アクティビティ・ストリーム・データの表示

アクティビティ・ストリーム・データを正しく表示するには、次の操作を行う必要があります。

  • アクティビティ・ストリームURIエントリ・ポイントの取得

  • アクティビティ・ストリーム・データの取得

  • アクティビティ・ストリーム・データを表示するための処理

OTNを参照

このサンプルは、Oracle Technology Network (OTN)のOracle WebCenter Portalのデモとサンプルのページでご利用いただけます。

http://www.oracle.com/technetwork/middleware/webcenter/ps3-samples-176806.html

次の例では、

  • getResourceURLメソッドは、メイン・リソース索引(/rest/api/resourceIndex)のJSONデータを取得し、そのデータ内でアクティビティ・ストリーム・リソースのURIを見つけることによって、アクティビティ・ストリーム・サービスのURIエントリ・ポイントを取得する方法を示しています。

  • formatMessageメソッドは、アクティビティ・ストリーム・データを処理して表示可能な形式にします。これには、個々のメッセージの検索と、メッセージ内のテンプレート・パラメータをそのパラメータに対応するオブジェクトまたはユーザーの名前に置換する処理が含まれます。パラメータには、オブジェクトまたはユーザーを表示するためのリンクも含まれます。そのオブジェクトまたはユーザー用のRESTサービスへのリンクがある場合は、それが含まれることもあります。

ノート:

リソース索引およびアクティビティ・ストリームJSONデータを取得するには、Javascript(および場合によってはDojoなどのクライアント側スクリプト・ライブラリ)を使用してAjaxリクエストを作成し、結果のデータを適切なメソッドに渡します。

例: アクティビティ・ストリーム・データの表示

/* Parse the resourceIndex to find the specified URL and
 * return it.
 *
 * @Param jsonData the JSON data retrieved from calling
 *        the /rest/api/resourceIndex URL.
 * @Param strResourceType the resource type of the URL
 *        you want to retrieve from the resourceIndex data.
 *        E.g., 'urn:oracle:webcenter:activities:stream'
 */
function getResourceURL(jsonData, strResourceType)
{
  // Using the HATEOAS model, we browse the returned links
  // looking for the one with the correct resource type.

  for (var i = 0; i < data.links.length; i++) {
    if (data.links[i].resourceType == strResourceType) {
      return data.links[i].href;
    }
  }
}

/* Parse the resourceIndex to find the activity stream URL and
 * then load it.
 *
 * @Param jsonData the JSON data retrieved from calling
 *        the /rest/api/resourceIndex URL.
 */
function getActivitiesURL(jsonData)
{
  // Parse the JSON data to get the activities URI entry point.

  var strHref = getResourceURL(jsonData,
    'urn:oracle:webcenter:activities:stream');

  // INSERT CODE HERE: Implement getting the JSON data from the
  // strHref URL with the Accept header set to "application/json",
  // and use the formatMessage(index, jsonData) function to get
  // the displayable activity message for each activity.

}

/* Replace activity message parameters.
 *
 * @Param index the index of the activity to process
 * @Param jsonData the JSON data retrieved from calling
 *        the /rest/api/resourceIndex URL.
 */
function formatMessage(index, jsonData)
{
  var activity = jsonData.items[index];
  var strMessage = activity.message;

  // Look for activity parameters and replace them in the message.

  if (activity.templateParams && activity.templateParams.items) {
    for (var i = 0; i < activity.templateParams.items.length; i++) {
      var param = activity.templateParams.items[i];

      // Each parameter also has a set of links which at least
      // includes an HTML link and possibly a REST API link.

      strMessage = strMessage.replace(param.key, param.displayName);
    }
  }
  if (activity.detail) {
    strMessage = strMessage + "<br><font size='1'>" +
      activity.detail + "</font>";
  }
  return strMessage;
}

ユーザー・ステータスの更新

次の例は、REST APIを使用してユーザーのWebCenter Portalプロファイル・ステータスを更新する方法を示しています。

ノート:

サンプルは、Webサーバー(Apache、Oracle HTTP Serverなど)またはアプリケーション・サーバーでホストする必要があります。クロスサイト・スクリプティング・エラーを防ぐには、プロキシURLを使用してRESTサービスにアクセスする必要があります。ApacheまたはOHSでは、confコマンドは次のようになります(必要に応じてmyspaceshostおよびportを変更します)。

ProxyPass /webcenter/ http://myspaceshost:port/webcenter/
ProxyPassReverse /webcenter/ http://myspaceshost:port/webcenter/
ProxyPass /rest/ http://myspaceshost:port/rest/
ProxyPassReverse /rest/ http://myspaceshost:port/rest/
ProxyPreserveHost on
OTNを参照

このサンプルは、Oracle Technology Network (OTN)のOracle WebCenter Portalのデモとサンプルのページでご利用いただけます。

http://www.oracle.com/technetwork/middleware/webcenter/ps3-samples-176806.html

ユーザー・ステータスの更新では、ステータス・オブジェクトのURLを取得するための、一連の非同期AJAXコールが行われます。

urn:oracle:webcenter:resourceindex
   urn:oracle:webcenter:people
      urn:oracle:webcenter:people:person:status

ユーザー・ステータスを更新するHTMLページには、ユーザーが新しいステータス・メッセージ(statusMessage)を入力できる入力フィールドがあります。「Update Status」ボタンをクリックすると(または[Enter]キーを押すと)updateStatusメソッドがコールされて、リソース索引への初期コールが行われます。

例: HTML本体

<body>
<div>New status message:&nbsp;<input id="statusMessage" type="text"
   onkeyup="{if (event.keyCode==13) updateStatus();}" maxlength="250"
   size="60" /></div>
<div>
<button id="button1" onclick="updateStatus();">Update Status</button>
</div>
<div id="statusResults"></div>
</body>

次の例にHTMLページを示します。

図C-4 新しいステータス・メッセージのHTMLページ

新しいステータスを入力するためのHTMLページ

次の例のコードは、リソース索引(/rest/api/resourceIndexに設定されているresourceIndexURL変数)を取得します。リソース索引は、AJAXリクエスト・オブジェクト(resourceIndexRequest)として返されます。

例: リソース索引の取得

function updateStatus() {
   // Set the UI to busy state. This is cleared in the success and error callbacks
   setUIBusy("Updating status...");
   //get the Resource Index
   resourceIndexRequest.get(
      resourceIndexURL,
      resourceIndexCallback,
      clearUIBusy);
}

次の例に示すgetResourceURLメソッドは、RESTコールによって返されるデータ内のリンクをトラバースして、要求されたリソース・タイプを識別する指定の文字列(URN)を見つけます。

例: リンクのトラバース

function getResourceURL(data, strResourceType) {
   for (var i = 0; i < data.links.length; i++) {
      if (data.links[i].resourceType == strResourceType) {
         return data.links[i].href;
      }
   }
   return null;
}

次の例では、getResourceURLを使用してリソース索引を解析して、ユーザー・プロファイルURLを見つけます。データは、AJAXリクエスト・オブジェクト(profileRequest)として返されます。

例: ユーザー・プロファイルの取得

function resourceIndexCallback(data) {
   //get my user profile
   profileRequest.get(
      getResourceURL(data, 'urn:oracle:webcenter:people'),
      profileCallback,
      clearUIBusy);
}

次の例は、HTMLページでユーザーが指定した新しいステータス・メッセージを受け取り(statusMessage)、request.putを使用して、(getResourceURLを再度コールして取得した)ステータス・オブジェクトを更新します。

例: ステータス・オブジェクトの取得

function profileCallback(data) {
   profile = data;
   // get the URL for the status object
   var url = getResourceURL(data, 'urn:oracle:webcenter:people:person:status');
   // get the new status and escape double quotes
   var newStatus = document.getElementById
      ('statusMessage').value.replace(/\"/g. "\\\"");
   //send a JSON string representing the new status object
   var statusMessage = '{"note": "' + newStatus + '"}';
   statusRequest.put(
      getResourceURL(data, 'urn:oracle:webcenter:people:person:status'),
         statusMessage, renderStatusPutResults, clearUIBusy);
}

次の例に示すrenderStatusPutResultsメソッドは、新しいステータス・オブジェクトをレンダリングします。

例: 新しいステータス・オブジェクトのレンダリング

function renderStatusPutResults(data) {
   var name = profile.displayName;
   // get the URL for my profile HTML page in WebCenter Portal
   var profileURL = getResourceURL(profile,
      'urn:oracle:webcenter:spaces:profile');
   var html = 'Status for <a href="' + profileURL + '" target="_blank">'
      + name + '</a> is: ' + data.note;
   // clear the UI busy state and print the new status message
   clearUIBusy(html);
}

次の例は、UIを無効にして再度有効にするコードを示しています。

例: UIの無効化

function setUIBusy(message) {
   document.getElementById('statusResults').innerHTML = message;
   document.getElementById('button1').disabled = true;
   document.getElementById('statusMessage').disabled = true;
}

function clearUIBusy(message) {
   document.getElementById('statusResults').innerHTML = message;
   document.getElementById('button1').disabled = false;
   document.getElementById('statusMessage').disabled = false;
}

次の例は、AJAXコールに役立つライブラリを示しています。その大部分はWebCenter固有のものではなく、JSONを返すサービスに対する任意のXHRリクエストで使用できます。

ライブラリには再利用可能なXHRオブジェクトが含まれています。このオブジェクトは、HTTP GET、POST、PUTおよびDELETEをサポートします。すべての関数は非同期であり、URLと2つのコールバック関数(成功した場合と失敗した場合)を使用します。成功コールは、戻りデータが含まれるJavaScriptオブジェクトを使用して行われます。失敗コールは、エラー文字列を使用して行われます。POSTおよびPUTも、JSON文字列のデータ引数を使用します。

例: AJAXライブラリ

function AjaxRequest() {
   // constructor to create an object oriented AJAX request
   var xhr = null;

   // get XHR object. Should work for IE 6+, Safari, and Mozilla based browsers
   if (window.XMLHttpRequest) {
      xhr = new window.XMLHTTPRequest;
   } else {
      try {
         xhr = new ActiveXObject('MSXML2.XMLHTTP.3.0');
      } catch (ex) {
         xhr = null;
      }
   }
   if (xhr == null) {
      alert("Your browser does not support AJAX");
   }

   this.get = function(url, callback, errorCallback) {
      xhr.open('GET', url, true);
      // the REST APIs return XML by default. Please return JSON
      xhr.setRequestHeader('Accept', 'application/json; charset=utf-8');
      sendRequest(null, callback, errorCallback);
   };

   this.post = function(url, data, callback, errorCallback) {
      xhr.open('POST', url, true);
      // set headers to send and receive JSON
      xhr.setRequestHeader('Accept', 'application/json; charset=utf-8');
      xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
      sendRequest(data, callback, errorCallback);
   };

   this.put = function(url, data, callback, errorCallback) {
      xhr.open('PUT', url, true);
      // set headesr to send and receive JSON
      xhr.setRequestHeader('Accept', 'application/json; charset=utf-8');
      xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
      sendRequest(data, callback, errorCallback);
   };

   this.deleteResource = function(url, callback, errorCallback) {
      xhr.open('DELETE', url, true);
      sendRequest(null, callback, errorCallback);
   };

   // set the callbacks and send the request with data, if any
   function sendRequest(data, callback, errorCallback) {
      xhr.onreadystatechange = function () {
         processResponse(xhr, callback, errorCallback);
      };
      xhr.send(data);
   }

   function processResponse(xhr, callback, errorCallback) {
      var data = null;
      // can get called here many times. 4 means really done
      if (xhr.readyState == 4) {
         // let's call any HTTP codes in the 200s success
         if (xhr.status >= 200 && xhr.status <300) {
            // convert response text into a JSON object. This is insecure.
            // data should not be blindly evaluated from the server return.
            // consider using json2.js http://www.JSON.org/js.html
            data = eval('(' + xhr.responseText + ')');
            callback(data);
         } else {
            // we got an error. Format an error string
            data = 'Error: ' + xhr.status + ' ' + xhr.statusText + '<br />'
               + xhr.responseText;
            errorCallback(data);
         }
      }
   }
}

カスタム属性の追加と取得

REST APIを使用して、Oracle WebCenter Portalでカスタム属性の追加と取得を行います。POSTリクエストでカスタム属性を追加し、GETリクエストでポータル内にあるカスタム属性を取得します。
  1. URIにアクセスするuTokenを取得してリクエストを送信します。

    次のURL構造を使用してuTokenにアクセスできます。Basic認証としてユーザー名とパスワードを指定してください。

    https://hostname:port/rest/api/resourceIndex

    utokenがレスポンス・メッセージに表示されています。次の例ではサンプル索引URLが示され、utokenも含まれています。

    <resourceIndex 
    resourceType="urn:oracle:webcenter:resourceindex" version="12.2.1.3.0">
    <links>
    <link capabilities="urn:oracle:webcenter:read" 
    href="http://example.com:8888/rest/api/spaces?utoken=IawvREZ-gnq-tITTdrme_w%2A%2A"
    resourceType="urn:oracle:webcenter:spaces" 
    template="http://example.com:8888/rest/api/spaces?startIndex={startIndex}&search={search}
    &itemsPerPage={itemsPerPage}&visibility={visibility}&projection={projection}
    &utoken=ICCEXXT9HiAJilsawvREZ-gnq-tIT62r8wFJXtnTdrme_w**"/>
  2. POSTリクエストをカスタム属性の次のURIに発行します。

    http://host:port/rest/api/spaces/{portalname}/attributes?utoken=utoken

    説明:

    • hostname:port: Oracle WebCenter Portalを実行しているホストの名前とIPポートです。たとえば、http://example.com:8888

    • Content type: サポートされているメディア・タイプです。カスタム属性を追加するにはapplication/jsonを使用します。

    • utoken: ポータルのAPIにアクセスするためのAPIトークンです。たとえば、utoken=utoken=abcdIC05zgjZoqCF8ShWL42AhTVvq-fc8uFshnw%2A%2A

    • {portalname}: ポータルの名前です。たとえば、aviintranet

    たとえば、http://example.com:8888/rest/api/spaces/aviintranet/attributes?utoken=IawvREZ-gnq-tITTdrme_w%2A%2A

  3. リクエスト本文に次のパラメータを指定してカスタム属性を追加します。
    {"name": "attributename", "value": "attributevalue" }

    このとき、attributenameはカスタム属性の名前、attributevalueはカスタム属性の値です。

    たとえば、{"name": "TestAttrib_REST_1", "value": "RestOne" }

    次に示すサンプルは、カスタム属性を追加するリクエスト本文です。

    curl -i -X POST
    -H 'Content-Type: application/json'
    -d {"name": "TestAttrib_REST_1", "value": "RestOne" }
    'http://example.com:8888/rest/api/spaces/aviintranet/attributes?utoken=IawvREZ-gnq-tITTdrme_w%2A%2A'
  4. POSTリクエストのレスポンスを確認します。属性が正常に追加された場合、ステータスが「201 created」と表示されます。

    次に示すサンプルは、カスタム属性を追加するために送信されたPOSTリクエストのレスポンス本文です。

    {
        "links": [
            {
                "href": "http://example:8888/rest/api/spaces/aviintranet/attributes/TestAttrib_REST_1
    ?utoken=gnq-tIT62r8wFJXtnTdrme_w%2A%2A",
                "rel": "self",
                "resourceType": "urn:oracle:webcenter:space:attribute",
                "capabilities": "urn:oracle:webcenter:read"
            }
        ],
        "resourceType": "urn:oracle:webcenter:space:attribute",
        "name": "TestAttrib_REST_1",
        "value": "RestOne"
    }
    
  5. ポータルの「設定」ページで新しいカスタム属性を確認できます。

    図C-5 ポータルの「設定」ページ

    この図は、新しい属性が含まれるポータルの「設定」ページです。
  6. ポータルにあるカスタム属性のリストを取得するには、カスタム属性の次のURIにGETリクエストを発行します。

    http://host:port/rest/api/spaces/{portalname}/attributes?utoken=utoken

    説明:

    • hostname:port: Oracle WebCenter Portalを実行しているホストの名前とIPポートです。たとえば、http://example.com:8888

    • Content type: サポートされているメディア・タイプです。カスタム属性を取得するにはapplication/jsonを使用します。

    • utoken: ポータルのAPIにアクセスするためのAPIトークンです。たとえば、utoken=utoken=abcdIC05zgjZoqCF8ShWL42AhTVvq-fc8uFshnw%2A%2A

    • {portalname}: ポータルの名前です。たとえば、aviintranet

    たとえば、http://example.com:8888/rest/api/spaces/aviintranet/attributes?utoken=IawvREZ-gnq-tITTdrme_w%2A%2A

    次に示すサンプルは、GETリクエストのJSON形式レスポンス本文です。ポータルにあるカスタム属性の詳細を確認できます。この例では、作成したカスタム属性が強調表示されています。
    {
        "resourceType": "urn:oracle:webcenter:space:attributes",
        "items": [
            {
               "resourceType": "urn:oracle:webcenter:space:attribute",
                "name": "__wp_ShowColor",
                "value": "true"
            },
              "resourceType": "urn:oracle:webcenter:space:attribute",
               "name": "TestAttrib_REST_1",
               "value": "RestOne"
            }
        ],
        "attributes": [
            ,
               "resourceType": "urn:oracle:webcenter:space:attribute",
               "name": "__wp_ShowColor",
               "value": "true"
            },
              "resourceType": "urn:oracle:webcenter:space:attribute",
              "name": "attributename",
              "value": "RestOne"
            }
        ]
    }