| Oracle® Fusion Middleware Oracle JDeveloperによるWebCenter Portalアセットとカスタム・コンポーネントの開発 12c (12.2.1.1) E79323-01 |
|
![]() 前 |
![]() 次 |
この章のトピックは、次のとおりです:
REST (REpresentational State Transfer)は、分散されたリソースを共通のインタフェースを介して利用できるようにするためのアーキテクチャ・スタイルです。この共通のインタフェースには、Uniform Resource Identifier (URI)、明確に定義された操作、ハイパーメディア・リンクおよび一連の制約付きメディア・タイプなどがあります。通常、これらの操作には読取り、書込み、編集および削除が含まれ、メディア・タイプにはJSONおよびXML/ATOMが含まれます。
RESTコマンドでは、リクエストとして標準HTTPメソッドを使用して、使用するリソースを指定します。すべてのリクエストは、操作のステータスを含むレスポンスを返します。リクエストによりオブジェクトが取得、作成または更新されると、レスポンスにはそのオブジェクトの標準表現が格納されます。
RESTは、クライアント・マシンからもその他のサーバーからも複数のクライアントをサポートし、どのクライアントまたは開発テクノロジ(Java、JavaScript、Ruby on Rails、PHP、.Netなど)からも使用できます。
ヒント:
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には、hrefとtemplateのどちらの属性でも、認証ユーザー名に基づくセキュリティ・トークン・パラメータ(utoken)が含まれています。
セキュリティ生成アルゴリズムは、ユーザー名とともにランダムに生成されたsaltを使用します。saltにより、暗号化で使用したパラメータのセキュリティが侵害されても、既存のトークンを無効化し、新しいトークンを生成できます。最も重要なことは、ユーザー・トークンの生成アルゴリズムの一部としてユーザー名が使用されているため、セキュリティ侵害の発生時に、saltにより、すべてのユーザー名を変更しなくて済むことです。
saltは、マップo.webcenter.jf.csf.map内の資格証明ストア・フレームワーク(CSF)にキーuser.token.saltに対して格納されます。このキー(およびトークンの暗号化で使用した他のキー)の値は、Oracle Enterprise ManagerでCSFにアクセスすることによって変更できます。
注意:
暗号化キーの値を変更すると、ユーザー名ベースの既存のすべてのセキュリティ・トークンがただちに無効になります。アルゴリズムのパラメータがセキュリティ侵害された場合など、特別な事情がある場合のみ、これらの値を変更します。
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を使用すると、Ajax、JavaScript、JSONなどのWeb 2.0テクノロジを使用して、操作性が高いブラウザベースの対話型ユーザー・インタフェースを作成したり、WebCenter Portalのデータにアクセスおよび変更できます。一般に、WebCenter RESTコマンドは、より自然で使いやすい、SOAPスタイルWebサービス・アプローチの代替を提供します。詳細は、Oracle WebCenter Portal用のREST APIを参照してください。
表C-1に、WebCenter Portal: Servicesの機能に対して提供されているOracle WebCenter Portal REST APIを示します。
表C-1 REST APIでサポートされるWebCenterツールとサービス機能の一覧
| REST API | 説明 | 参照先 |
|---|---|---|
ディスカッション |
クライアントが、ディスカッション・フォーラム、トピックおよびメッセージを投稿、読取り、更新および削除できます。 |
|
リスト |
クライアントが、指定されたポータルに関連付けられたすべてのリストの参照、検索条件によるリスト列の検索、新規リストの作成、リスト行の追加、更新および削除、および同様のリスト関連タスクを実行できます |
|
ピープル・コネクション |
クライアントが、プロファイル・データの表示、コネクション・リスト、フィードバックおよびメッセージの管理、ユーザー、リストおよびポータルでの新規アクティビティの作成とアクティビティの表示を実行できます。 |
|
WebCenter Portal |
クライアントが、ポータル・メタデータの取得、およびポータル・リストとリスト・アイテムの表示、作成、更新および削除を実行できます。開発者はポータル・メンバーシップ情報も取得できます。 |
|
コンテンツ管理 |
Content Management Interoperability Services (CMIS) RESTfulサーバー・バインディングを使用して、Content Management Virtual Content Repository (CM VCR)へのアクセスを提供します。 |
|
アクティビティ・グラフ |
基になるアクティビティ・グラフ・エンジンを使用して、接続、ポータルおよびアイテムに関する推奨事項を取得できます。 |
|
イベント |
指定されたポータルに関連付けられたカレンダ・イベントにアクセスできます。 |
|
フィードバック |
クライアントが、ソーシャル・ネットワーク・アプリケーションでフィードバックを作成、読取りおよび削除できます。 |
|
検索 |
検索を投稿、確認、更新および削除します。検索のキーワードと範囲を指定できます。たとえば、iPhoneではすべてのポータル、ドキュメントおよびWikiページ内の「smith」を検索できます。 |
|
タグ |
クライアントが、タグおよびタグ付けしたアイテムをポスト、読取り、更新および削除できます。 |
|
ナビゲーション |
ナビゲーションREST APIを使用して、ナビゲーションを表示する独自のインタフェースを作成します。 注意: ナビゲーション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 urn:oracle:webcenter:search:results -> search.xsd urn:oracle:webcenter:spaces -> spaces.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"
},
{
"template": "opaque-template-uri",
"resourceType": "urn:oracle:webcenter:discussions:forums",
"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;
}
}
}
ハイパーメディア・リンクのresourceType、relおよび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を使用して、GETとPOSTの予期されるレスポンス本文およびPOSTとPUTの受入可能なリクエスト本文を決定する必要があります。
詳細は、「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データの量を制限できます。projectionとdataの両方の問合せ文字列パラメータが存在する場合は、dataパラメータを使用して返すデータを決定します。データ・パラメータとして定数dataを指定すると、リソースに対してすべての標準情報が返されます。
特定のリソースでのこれらのパラメータのサポート方法の詳細は、該当サービスに関する項を参照してください。
レスポンスの実際のコンテンツは、itemsのコレクションで構成されています。これは、前述のlinksセクションと同じレベルです。(各レスポンス内の最上位レベル・タグを含めて)各アイテムには、リソース固有のコンテンツと形式に加えて、1つの共通属性(resourceType)があります。resourceTypeの詳細は、特定のサービスに関する項を参照してください。
HTMLまたはATOMフィードで参照およびやり取りする場合と同様の方法で、RESTサービス・ハイパーメディアを移動できます。やり取りは、HTTPメソッドを使用して、リンクで識別されるリソースで行われます。RESTサービスは、レスポンス・コードおよびレスポンス本文をクライアントに返し、クライアントはレスポンス内のハイパーメディアを使用してその後のやり取りを行います。
表C-2に、不透明なリソースURIの作成時に従う一般的なパターンを示します。resourceTypeは、HTTPメソッドがリソースのコレクションで動作するのか個々のリソースで動作するのかによって異なります。
表C-2 HTTPメソッド
| HTTPメソッド | リソースのコレクションの場合のレスポンス | 個々のリソースの場合のレスポンス |
|---|---|---|
|
リソース・コレクションのコンテナを返します(200 HTTPレスポンス・コード) |
リソースを返します(200 HTTPレスポンス・コード) |
|
リソースのコレクションを更新できません(405 HTTPレスポンス・コード) |
リソースを更新して返します(200 HTTPレスポンス・コード) |
|
コレクション内に新規リソースを作成して返します 注意: 201または204 HTTPレスポンス・コードを返します。返されるコードは、新規作成されたオブジェクトが、直接アドレス可能であるかどうかによって異なります。たとえば、アクティビティは個別にアドレスを指定できないため、204のコンテンツなしというレスポンス・コードが返されます。 |
個々のリソース内にリソースを作成できません(405 HTTPレスポンス・コード) |
|
リソースのコレクションを削除できません(405 HTTPレスポンス・コード) |
リソースを削除します(204 HTTPレスポンス・コード) |
コレクション・リソースでは、通常、コレクションの読取り(GET)およびそのコレクションの従属要素の作成(POST)がサポートされます。個々のリソースでは、通常、リソースの読取り(GET)、更新(PUT)および削除(DELETE)がサポートされます。
表C-3に、返される可能性があるレスポンス・ステータス・コードを示します。
表C-3 HTTPレスポンス・ステータス・コード
| HTTPレスポンス・ステータス・コード | 説明 |
|---|---|
200 |
OK。 |
201 |
作成されました。 |
204 |
コンテンツなしまたはコンテンツを返さないリクエスト。たとえば、リンクできないオブジェクトを作成する場合です。 |
400 |
不正なリクエスト。URIが不正な形式だったか、処理できませんでした。たとえば、IDが正しく形式化されていなかったか、IDが |
401 |
認可されていません。クライアントは、資格証明を送信して再試行できます。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。 |
403 |
禁止されています。クライアントには、リソースの作成や削除など、特定のアクションを実行できる権限がありません。同じユーザーとしての再認証は役立ちません。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。 |
404 |
見つかりません。IDで特定のリソースを参照しましたが、リソースはありません。 |
405 |
使用できないメソッドです。リクエストされたリソースで有効なメソッドのリストが含まれます。 |
406 |
受入れできません。クライアントが送信した受入れヘッダー・メディア・タイプは要求された操作でサポートされていません。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。 |
409 |
競合。おそらくリソースIDが使用中であるか、またはエンティティが更新時に別のプロセスによって変更されました。問題の診断に役立つフォルト・レスポンス本文を伴う場合があります。 |
422 |
不正なエンティティ本体。本体内のデータが構文的に正しい場合でも、有効でなかったり、処理できませんでした。たとえば、行を更新する際にデータが無効な場合です。 |
500 |
内部サーバー・エラー。サーバーで予期しない状態が発生し、リクエストを処理できませんでした。 |
501 |
実装されていません。サーバーでは、リクエストを実行するために必要な機能がサポートされていません。これは、サーバーがリクエスト・メソッドを認識せず、リソースに対してこれをサポートできない場合のレスポンスです。 |
すべての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には、hrefとtemplateのどちらの属性でも、セキュリティ・トークン・パラメータが含まれています。セキュリティ・トークンはユーザー・スコープです。つまり、認証ユーザーに基づいており、有効範囲は認証ユーザーで、そのユーザーのセッションでブックマークに指定したり、キャッシュしたりできます。このようなセキュリティ・トークンは、クロスサイト・リクエスト・フォージェリ(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が使用する認証スキームは、他の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で使用されるオブジェクトを、一貫性のある方法で参照します。
この項には次のトピックが含まれます:
これは、システム内のユーザーを表す汎用データ・タイプです。様々なAPIで使用されて、たとえば、メッセージ・ボードやフィードバック・メッセージの作成者またはユーザーの上司や直属の部下を識別します。これは、次の要素で構成されています。
guid: ユーザーのGUID
id: ユーザーのログインID
displayName: ユーザーの表示名
personReferenceには、ユーザーのプロファイル・アイコンへのリンクも含まれています。値(small、mediumまたはlarge)を指定することによって、アイコンのサイズを制御できます。
personReferenceタイプが含まれる場所によっては、生成するレスポンスの関連するREST APIへのリンクを返すこともできます。たとえば、personReferenceタイプが、メッセージ・ボード・レスポンス内の作成者として含まれている場合は、メッセージ・ボード・サービスへのリンクを含みます。
ポータブル連絡先タイプによって、Web上でアドレス帳および友人リストにアクセスする標準の手段が提供されます。ポータブル連絡先タイプは、ピープル・コネクション・サービスのプロファイル・コンポーネントが使用します。
注意:
これらのタイプは、WebCenterのポータル連絡先タイプに基づいています。追加データを含む可能性があります。
この項には次のトピックが含まれます:
これは、ユーザーの名前に関する情報を提供するポータブル連絡先タイプです。これは、次の要素で構成されています。
formatted: ユーザーの書式設定されたフル・ネーム、たとえばMichael David Jones Ph.D.
familyName: ユーザーの姓、たとえばJones
givenName: ユーザーの名、たとえばMichael
honorificSuffix: ユーザーの敬称、たとえばEsq.やPh.D.
initials: ユーザーの先頭の頭文字、たとえばM. D.
maidenName: ユーザーの旧姓
ユーザー・リポジトリ構成およびデータによっては、要素の一部が表示されないことがあります。
これは、ユーザーの住所に関する情報を提供するポータブル連絡先タイプです。これは、次の要素で構成されています。
formatted: 書式設定された完全な住所
type: 住所のタイプ(例: 自宅、会社)
streetAddress: 番地
poBox: 私書箱番号
locality: 市町村
region: 都道府県
postalCode: 郵便番号
country: 国
ユーザー・リポジトリ構成およびデータによっては、要素の一部が表示されないことがあります。
これは、ユーザーの組織的な所属に関する情報を提供するポータブル連絡先タイプです。次の要素で構成されています。
name: 組織の名前
employeeNumber: ユーザーの従業員番号
employeeType: ユーザーの従業員タイプ。
department: ユーザーが所属する組織内の部門
defaultGroup: ユーザーが所属するデフォルト・グループ
title: 組織内でのユーザーの役職
description: 組織内でのユーザーの役割の説明
expertise: 組織内でのユーザーの専門
startDate: ユーザーが組織に加わった日付
ユーザー・リポジトリ構成およびデータによっては、要素の一部が表示されないことがあります。
これは、多様な連絡先情報のデータが格納される汎用オブジェクトです。これは、次の要素で構成されています。
primary: これが、この人に関するこのタイプの情報の主要部分であるかどうかを識別するブール値。主要要素は存在しない場合があり、同じタイプのデータに対して複数の値がある場合のみ関係します。
value: このタイプの値
type: 情報のタイプ。有効なタイプは次のとおりです。
standard: 有効な値はwork、home、other
phoneNumber: 有効な値はwork、home、fax、pager、mobile
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)も使用できます。詳細は、『Oracle HTTP Server管理者ガイド』を参照してください。
Apacheでプロキシ・サーバーを設定する基本的な手順は次のとおりです。
一部のLinuxの構成では、この方式によるApacheとのプロキシ設定には、httpdからのアウトバウンド接続を許可するためにSELinuxが必要であることに注意してください。SELinuxのGUI内またはコマンド・ラインを介してhttpd_can_network_connect flagを有効化すると設定できます。
開発者のヒント
httpd.confでUserDir権限を設定して、ユーザーが各自のpublic_htmlディレクトリにこれらのファイルをドロップできるようにします。たとえば、http://host/~yourname/sample.htmlをヒットしてサンプル・アプリケーションにアクセスし、サンプル・アプリケーションでhttp://host/rest/api/resourceIndexをXHRコールします。
この項では、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を見つけることができます。resourceTypeがurn:oracle:webcenter:messageBoardであるリンクを探します。このリンクのhrefが、メッセージ・ボードへのアクセスに必要なものです。
他のリソースのrel、typeおよび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つのアイテムのみで構成されています)。これらのアイテムは、resourceTypeがurn: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を見つけるには、resourceTypeがurn: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リクエストに対するレスポンスから、メッセージに関してread、updateおよび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エントリ・ポイントの取得
アクティビティ・ストリーム・データの取得
アクティビティ・ストリーム・データを表示するための処理

このサンプルは、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

このサンプルは、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: <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-1 新しいステータス・メッセージの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を使用して、アクティビティ・ストリームにおけるユーザーのアプリケーション・アクティビティを参照します。この項では、このアクションを実行するために使用できる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のセキュリティに関する考慮事項」を参照してください。
この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:
streamレスポンスには、アクティビティ・ストリームからのアクティビティの取得に使用するURIが含まれます。
ユーザーのストリームからアクティビティを取得するか、ユーザーのコネクションのストリームからアクティビティを取得できます。どのアクティビティを取得するのかをより細かく制御するには、アクティビティ・ストリーム問合せフィルタを使用します。問合せフィルタを使用すると、次のことを実行できます。
問合せ対象のユーザーを指定します
ユーザーのコネクションのアクティビティを結果に含めます
結果に、ホーム・ポータルなどポータルからのアクティビティを含めます
結果を、特定のサービスからのアクティビティに限定します
使用できるオプションは、streamリソースにアクセスするためにたどるパスと、使用するリンクのrelに応じて異なります。たとえば、アクティビティ・ストリーム問合せフィルタは、urn:oracle:webcenter:activities:streamのrel属性を持つリンクからのみ使用できます。personリソースからアクティビティ・ストリーム問合せフィルタにアクセスする場合は、personGuidパラメータが事前に設定されます。
表C-4に、リンクのrel要素に応じて返されるアクティビティを示します。
表C-4 streamによって返されるアクティビティ
| rel | 戻り値 |
|---|---|
|
ユーザーのストリームからのアクティビティ( |
|
ユーザーのコネクションのストリームからのアクティビティ( |
|
アクティビティ・ストリーム問合せフィルタによって決定されるアクティビティ |
|
ポータル・アクティビティ・ストリームからのアクティビティ |
|
ポータル・アクティビティ・リストからのアクティビティ |
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
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でサポートされています。
GET
リクエスト-パラメータ:
startIndex、itemsPerPage
関連項目:
startIndexやitemsPerPageなどの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リソースにはアクティビティ・アイテムが含まれているため、そのレスポンスでは、そのアクティビティで参照されているオブジェクトのリソース・リンクも返されることがあります。
表C-5に、クライアントがstreamリソースからリンクできるリソース・タイプを示します。
表C-5 streamに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self urn:oracle:webcenter:activities:stream:person |
urn:oracle:webcenter:activities:stream |
urn:oracle:webcenter:activities:activity |
activityレスポンスには、アクティビティに関するデータと、アクティビティ・ストリームに含まれているアクティビティから必要とするデータをすべて取得する際に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してactivityリソースにアクセスする方法を示します。
resourceIndex
stream
activity
resourceIndex
person
stream
activity
resourceIndex
space
stream
activity
表C-6に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-6 urn:oracle:webcenter:activities:activityに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
icon |
表C-7に、activityリソースの読取り専用要素を示します。
注意:
アイコンが使用可能である場合は、activityによって、レスポンスのリンク・セクションのアクティビティ・アイコンへのリンクが返されます。「urn:oracle:webcenter:activities:activity:icon」を参照してください。
表C-7 activityの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
String |
アクティビティ・タイプ サービス内で一意です。たとえば、ディスカッションは |
|
String |
dataパラメータに |
|
Date (String)2 |
アクティビティが作成された日付。 |
|
String |
アクティビティの説明。 |
|
String |
アクティビティの詳細情報(使用可能な場合)。 たとえば、これによって、メッセージのコンテンツ、ドキュメントのファイル名、お気に入り登録が返されます。
|
|
String |
detailURLは、ポータルでWikiおよびブログを作成する際に使用可能です。WebベースのWebCenter Portalでは、このURLをクリックし、ポータルでWikiまたはブログのページを開くことができます。
|
|
String |
事前に書式設定された国際化された説明。 |
|
String |
事前に書式設定された国際化されたメッセージ(テンプレート情報は含まれません)。 |
|
groupSpaceReference |
アクティビティが実行されたポータルに関する情報 注意: この参照は、ポータル内で発生しなかったアクティビティ(たとえば、ホーム・ポータルで発生したアクティビティ)では存在しません。また、ポータルの作成はホーム・ポータルで発生するため、そのアクティビティにもこの要素はありません。 |
|
String |
メッセージの一意のID |
|
trueまたはfalse |
このアクティビティが他のアクティビティのサマリーであるのかどうかを示します。 |
|
String |
dataパラメータに |
|
String |
このアクティビティのローカライズ済文字列 これは、中カッコ({})内に置換文字列が含まれている場合があります。 |
|
PRIVATE SHARED PUBLIC |
このアクティビティの権限レベル |
|
String |
アクティビティの範囲 これは、ホーム・ポータルなどのポータルを返すことがあります。 たとえば、ポータルの場合は、次のような文字列が返されます。 s8bba98ff_4cbb_40b8_beee_296c916a23ed |
|
String |
アクティビティを作成したサービスの一意のID |
|
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> " このパラメータはメッセージ・テンプレートで使用できないことに注意してください(例: |
|
urn:oracle:webcenter:activities:parameter |
アクティビティに関連するデータを取得する |
|
Param |
カスタム・パラメータには、 |
Carlという名前のユーザーの最新のメッセージを表示するとします。「CarlはポータルCustomer Feedbackを作成した」のような情報を表示したいと考えています。templateParams要素が、この問題の解決に役立ちます。
templateParams要素は、タイプoracle:webcenter:activities:activityのオブジェクトで返されます。この要素は、アクティビティに関連する大量のデータを取得します。たとえば、ユーザーが新しいポータルを作成する場合、そのアクティビティのtemplateParams要素が、ユーザーに関する情報およびポータルに関する情報を取得します。そのアクティビティに関連するパラメータ化されたメッセージ文字列内での文字列の置換の実行を可能にするキーが提供されています。
たとえば、ユーザーがポータルを作成する場合、返されるアクティビティ・オブジェクトには、次のようにパラメータ化されている<message>アイテムが含まれています。
<message>{actor[0]} has created the portal {object[0]}</message>
そのアクティビティのtemplateParams要素を解析することで、文字列の置換の実行を可能にする使用可能なキーおよび、ユーザー名やアクティビティなど、表示に適したデータを見つけることができます。
templateParams要素は、comments、likes、commentsSummaryおよびlikesSummaryオブジェクトへのリンクも提供します(それらがdataパラメータを使用してリクエストされている場合)。これらのリンクによって、オブジェクトに関するすべてのコメントまたはお気に入り登録などを問い合せたり、新しいコメントまたはお気に入り登録を投稿できます。サマリー・リンクによって、コメントまたはお気に入り登録カウントおよびいくつかの最近のコメントまたはお気に入り登録が返されます。「コメントとお気に入り登録の理解」も参照してください。
templateParams要素で返されるリンクは、ユーザー、ドキュメント、ポータル、カスタム・オブジェクトなど、どのような種類のオブジェクトが返されるのかによって異なります。詳細は、「urn:oracle:webcenter:activities:parameter」を参照してください。
注意:
templateParams要素には、場合によっては、メッセージ内で直接参照されない要素が含まれることがあります。
relリンクがviaとマークされている場合、それは基盤となるRESTオブジェクト(たとえば、パラメータではなくドキュメント)へのリンクです。relリンクがalternateおよびタイプtext/htmlとマークされている場合、それはそのオブジェクトのHTMLページへのリンクです。ポータル・オブジェクトには、ポータルのためのアクティビティ・ストリーム・リンクが含まれています。ユーザーには、アイコンおよびアクティビティ・ストリーム・リンクがあります。他のオブジェクトには、タグ付けしたアイテムおよび関連するタグ付けしたアイテムのリストへのaltリンクを含めることができます(そのオブジェクトに対してタグ付けが有効化されている場合)。標準オブジェクトで、コメントまたはお気に入り登録がサポートされている場合、前述のとおり、それには、comments/commentsSummaryおよびlikes/likesSummaryを含めることができます。
comments、commentsSummary、likesおよびlikesSummaryへのハイパーリンクがデフォルトで含まれます(data=data,commentsSummary,likesSummaryを指定してcommentsSummaryおよびlikesSummaryを開くことができます)。コメントおよびお気に入り登録は、アクティビティによって参照されるオブジェクトまたはアクティビティ自体と関連付けることができます。たとえば、ドキュメントを編集する場合、そのコメントはそのドキュメントと関連付けられます。アクティビティ・ストリーム・ページのドキュメント編集アクティビティにコメントを追加する場合、そのコメントは、そのドキュメント編集アクティビティと関連付けられます。
コメントおよびお気に入り登録と関連付けられているリンクは、次のとおりです。
comments: commentsリンクにより、1つのオブジェクトに対するすべてのコメントを問い合せることができます。このリンクで新しいコメントをPOSTすることもできます。comments POSTの場合、textフィールドが必要です。たとえば、本体データには次のように使用します。
JSON:
{
"text" : "REST Comment"
}
XML:
<text>REST Comment</text>
commentsSummary: commentsSummaryリンクによって、コメント・カウントおよびいくつかの最近のコメントが返されます。
likes - likesリンクによって、1つのオブジェクトのすべてのお気に入り登録を問い合せることができます。このリンクで新しいお気に入り登録をPOSTすることもできます。likes POSTに必要なフィールドはありません。
likesSummary: likesSummaryリンクによって、お気に入り登録カウントおよび現在のユーザーのお気に入り(使用可能な場合)が返されます。
注意:
Likeオブジェクト自体では、DELETEのみがサポートされ、GETはサポートされません。likesCountおよびcommentsCountアイテムによって、現在のオブジェクトのお気に入り登録またはコメントの数が返されます。
次のURLは、ドキュメント・オブジェクトのcomments、commentSummary、likesおよびlikesSummaryに対するGETリクエストの例を示しています。
"http://example.com:8892/rest/api/activities/services/oracle.webcenter.doclib/objectTypes/document/objects/(<document_object_id>)/comments?startIndex=0&itemsPerPage=10&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&itemsPerPage=10&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は、ドキュメント作成アクティビティのcomments、commentSummary、likesおよびlikesSummaryに対するGETリクエストの例を示しています。
"http://example.com:8892/rest/api/activities/ffa9a9f0-d02f-4e30-8c58-8a41b7a6e8a3/comments?startIndex=0&itemsPerPage=10&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&itemsPerPage=10&utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"
"http://example.com:8892/rest/api/activities/ffa9a9f0-d02f-4e30-8c58-8a41b7a6e8a3/likesSummary?utoken=FCvY3qQSBh0eAByLdxugV-lUgFO3_w**"
templateParams要素によって、一連のparam要素が返されます。param要素によって、返されるアクティビティ・オブジェクトのタイプに固有のデータが返されます。param要素の使用可能なタイプには、次のものがあります。
user: displayName、guid、id、key、primaryIdおよびtypeを返します。
document: displayName、iconUrl、id、key、primaryIdおよびtypeを返します。
custom: displayName、keyおよびtypeを返し、URLを持つ場合と持たない場合があります。
paramは、変数の参照または一般的な形式{prefix[index].variable}のキーである場合もあります。
このリソース・タイプを使用して、アクティビティのアイコンを取得します(使用可能な場合) (GET)。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
activities
activity
icon
表C-8に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-8 urn:oracle:webcenter:activities:activity:iconに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
urn:oracle:webcenter:parent |
コネクションおよびプロファイル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サービスにログインする必要があります。その後、基礎となるサービスにより、権限の確認などが処理されます。
この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:
この項では、クライアントがハイパーメディアを経由してpeopleリソースにアクセスする方法を示します。
resourceIndex people
次のメソッドは、peopleでサポートされています。
GET
リクエスト-パラメータ:
startIndex - 「共通のリクエスト問合せパラメータ」を参照してください。
itemsPerPage - 「共通のリクエスト問合せパラメータ」を参照してください。
projection - 「共通のリクエスト問合せパラメータ」を参照してください。
data: dataパラメータは、レスポンスで返されるデータを制御するカンマ区切りのリストです。事前定義済セットのbasicは、data=guid,id,displayNameと同等です。事前定義済セットのdataは、ユーザーのすべてのデータを返す標準セットですが、status、manager、reporteesまたはphotosは含まれていません。設定可能な値のフル・リストには、事前定義済セットのbasicとdata、さらに個々のデータ値としてguid、id、displayName、birthday、language、timeZone、name、addresses、organizations、workEmail、phoneNumbers、manager、reportees、photosおよびstatusが含まれます。
dataパラメータとして定数'data'を指定すると、リソースに対してすべての基本情報が返されます。projectionとdataの両方の問合せ文字列パラメータが存在する場合は、dataパラメータを使用して返すデータを決定します。
dataパラメータは、次の値のカンマ区切りリスト値を取って、対応するデータを返すこともできます。guid、id、displayName、birthday、language、timeZone、name、addresses、organizations、workEmail、phoneNumbers、manager、reportees、photosまたはstatus、あるいはその任意の組合せ。
注意:
dataパラメータは、事前定義済セット、値のコレクションまたはセットと値の組合せを受け入れることができます。たとえば、基本データおよびユーザーの生年月日を入手するには、data=basic,birthdayと指定します。
links: linksパラメータは、レスポンスでどのリンクが返されるのかを制御するカンマ区切りリストです。このパラメータは、事前定義済セット、個々のデータ値または事前定義済セットと個々のデータ値の組合せを受け入れることができます。事前定義済セットは、basic、data、activitiesSet、connectionsSetおよびfeedbackSetです。これらの事前定義済セットについては、「linksパラメータの事前定義済セット」を参照してください。
linksパラメータの個々の値は、person、profile、icon、status、messageBoard、activities、personActivities、connectionActivities、connections、listNames、invitation、givenFeedback、receivedFeedback、userGivenFeedback、manager、reportees、memberです。
projectionとlinksの両方の問合せ文字列パラメータが存在する場合は、linksパラメータを使用して返すリンクを決定します。
レスポンス-本体: 0個以上の個人オブジェクト。
次のアイテムは、linksパラメータで返すことができる事前定義済セットです。たとえば、links=basicを指定する場合、それはdata=person,profile,iconを指定することと同等です。必要に応じて、追加のパラメータを指定することもできます。たとえば、data=basic,birthdayと指定できます。
注意:
現在使用できないリンクは、それらがlinksパラメータで指定されている場合でも返されません。
basic: プロファイルの基本情報を返し、person、profileおよびiconを含む標準セット。
data: レスポンスに対してすべての基本リンクと、コネクション・リスト、ステータスおよびアクティビティ・ストリーム・テンプレートを返す標準セット。
activitiesSet: activities、personActivitiesおよびconnectionActivitiesが含まれます。
connectionsSet: connections、listNamesおよびinvitationが含まれます。
feedbackSet: givenFeedback、receivedFeedbackおよびuserGivenFeedbackが含まれます。
表C-9に、クライアントがpeopleリソースからリンクできるリソース・タイプを示します。
表C-9 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 |
このリソース・タイプを使用して、指定したプロファイルで使用されるアイコンを取得します(GET)。
people:iconへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
people
icon
次のメソッドは、このリソースによりサポートされています:
GET: 指定したプロファイルに使用されるアイコンを返します。
注意:
このリソースには、使用するプロファイル・アイコンのサイズを選択できるテンプレートが含まれています。sizeテンプレート・パラメータは、small、mediumまたはlargeに設定できます。
表C-10に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-10 urn:oracle:webcenter:people:iconに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
urn:oracle:webcenter:parent |
personレスポンスには、プロファイル・データおよびユーザー・プロファイルの取得に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してpersonリソースにアクセスする方法を示します。
resourceIndex people
resourceIndex
people
person
resourceIndex person
author person
resourceIndex
activities:stream
person
次のメソッドは、personでサポートされています。
GET
リクエスト-パラメータ: q
指定した人を取得するためのqの形式は次のとおりです。
q=[loginid:equals:username] Or q=[guid:equals:guid] Or q=[email:equals:email]
注意:
パラメータqは、personのresourceIndexテンプレート上のみです。
レスポンス-本体: message
関連項目:
レスポンスmessageの詳細は、「personの読取り専用要素」を参照してください。
表C-11に、personリソースの読取り専用要素を示します。
注意:
personレスポンス内に存在する要素は、ユーザー・リポジトリの構成方法およびそれによってサポートされている要素に応じて異なります。さらに、address、emails、photos、phoneNumbers、organizationなど、表C-11に示すデータのいくつかは複数のインスタンスを持つことができます。
関連項目:
表C-11に示す要素のいくつかは、「linksパラメータの事前定義済セット」で説明している事前定義済セットで返すことができます。
表C-11 personの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
String |
人の一意のGUID |
|
String |
人の一意のログインID(つまり、ユーザー名。たとえば、pat_coi) |
|
String |
人の表示名(ユーザーの名前、たとえば、Pat Coi)。これは、リポジトリ構成に応じて、 |
|
Date (String)3 |
人の生年月日 |
|
Boolean (String)1 |
この人が現在のユーザーにコネクションを持っているかどうか |
|
String |
人の優先言語 |
|
String |
人のタイムゾーン |
|
|
人の名前情報
|
|
|
人の住所情報 addressは、ポータブル連絡先タイプです。詳細は、「addressポータブル連絡先タイプ」を参照してください。 |
|
|
人の電子メール
|
|
|
人のプロファイル写真
|
|
|
人の電話番号
|
|
|
人の組織情報 organizationは、ポータブル連絡先タイプです。詳細は、「organizationポータブル連絡先タイプ」を参照してください |
|
personReference |
この人の上司 |
|
personReference |
この人の直属の部下 |
|
人のプロファイル・ステータス・メッセージ |
表C-12に、クライアントがpersonリソースからリンクできるリソース・タイプを示します。
表C-12 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:activities:stream:person |
|
urn:oracle:webcenter:activities:stream:connections |
|
urn:oracle:webcenter:activities:stream |
|
urn:oracle:webcenter:feedback:all-given |
|
urn:oracle:webcenter:feedback:all-received |
listレスポンスには、コネクション・リスト上のすべてのプロファイルの取得(GET)、ユーザーへのコネクションの招待の送信またはコネクション・リストへのコネクションの追加(POST)、およびコネクション・リストの削除(DELETE)に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してlistリソースにアクセスする方法を示します。
resourceIndex
person
listNames
list
resourceIndex
person
list (rel="urn:oracle:webcenter:people:person:list:connections")
次のメソッドは、listリソースでサポートされています。
GET
リクエスト-パラメータ: startIndex、itemsPerPage、projection
関連項目:
startIndexやitemsPerPageなどのREST APIパラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。
レスポンス-本体: 0個以上のpersonアイテム
POST
リクエスト-本体: member
レスポンス-本体: member
関連項目:
リクエスト要素およびレスポンス要素におけるmemberの詳細は、「urn:oracle:webcenter:people:person:list:member」を参照してください。
DELETE
リクエスト
listNamesレスポンスには、既存のコネクション・リストの名前と、リストの取得(GET)およびコネクション・リストの作成(POST)に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してlistNamesリソースにアクセスする方法を示します。
resourceIndex
person
listNames
次のメソッドは、listNamesリソースでサポートされています。
GET
リクエスト
レスポンス: 本体: 0個以上のlistNameアイテム
POST
リクエスト-本体: listName
レスポンス-本体: listName
関連項目:
listNameの詳細は、「urn:oracle:webcenter:people:person:listName」を参照してください。
表C-14に、クライアントがlistNamesリソースからリンクできるリソース・タイプを示します。
表C-14 listNamesに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
listNameレスポンスには、コネクション・リストの名前およびコネクション・リストへのアクセスに使用するURIが含まれます。「urn:oracle:webcenter:people:person:listName」も参照してください。
この項では、クライアントがハイパーメディアを経由してlistNameリソースにアクセスする方法を示します。
resourceIndex
person
listNames
listName
表C-15に、listNameリソースの書込み可能要素を示します。
表C-15 listNameの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい |
1文字以上の文字 |
単一のリスト名 |
表C-16に、クライアントがlistNameリソースからリンクできるリソース・タイプを示します。
表C-16 listNameに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self urn:oracle:webcenter:people:person:list |
|
urn:oracle:webcenter:activities:stream:list |
memberレスポンスには、コネクション・リストからのコネクションの削除に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してmemberリソースにアクセスする方法を示します。
resourceIndex
person
list
member
表C-17に、memberリソースの書込み可能要素を示します。memberの書込み可能要素は、コネクションをリストに追加したり、ユーザーにコネクションの招待を送信する場合に使用されます。memberリソース自体は、コネクションを削除するためのものであり、書込み可能要素を使用しません。
表C-17 memberの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい |
1文字以上の文字 |
ユーザーのGUID |
|
String |
いいえ |
0文字以上の文字 |
招待メッセージ これは、ユーザーにコネクションの招待を送信する場合(つまり、ユーザー作成のコネクション・リストではなく、 |
statusレスポンスには、指定したユーザーのプロファイル・ステータス・メッセージの取得(GET)および更新(PUT)に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してstatusリソースにアクセスする方法を示します。
resourceIndex
people
person
status
次のメソッドは、statusリソースでサポートされています。
GET
リクエスト
レスポンス-本体: status
PUT
リクエスト-本体: status
レスポンス-本体: status
表C-18に、statusリソースの書込み可能要素を示します。
表C-18 statusの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい |
1文字以上の文字 |
ステータス・メッセージの内容 |
表C-19に、クライアントがstatusリソースからリンクできるリソース・タイプを示します。
表C-19 statusに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:people:person:status |
invitationsレスポンスには、招待の取得に使用するURIが含まれます(GET)。別のユーザーに招待を送信(POST)することもできます。
この項では、クライアントがハイパーメディアを経由してinvitationsリソースにアクセスする方法を示します。
resourceIndex invitations
ユーザーに対してコネクションをまだ持っていない場合、彼らにコネクションの招待を送信するために、そのユーザーのプロファイルからinvitationsリソースにナビゲートすることもできます。このパスは、POSTに対してのみ使用されます。
resourceIndex
person
invitations
次のメソッドは、invitationsリソースでサポートされています。
GET
リクエスト-パラメータ: q
現在のユーザーに送信された招待を取得するためのqの形式は次のとおりです。
q=[invitee:equals:@me]
現在のユーザーから送信された招待を取得するためのqの形式は次のとおりです。
q=[invitor:equals:@me]
レスポンス-本体: 0個以上の招待
POST
リクエスト-本体: invitation
レスポンス-本体: invitation
表C-20に、invitationsリソースの書込み可能要素を示します。
表C-20 invitationsの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
いいえ |
1文字以上の文字 |
招待に添付されるメッセージ |
表C-21に、クライアントがinvitationsリソースからリンクできるリソース・タイプを示します。
表C-21 invitationsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
invitationレスポンスには、送信した招待の削除(DELETE)、または受信した招待の削除(DELETE)または更新(PUT)に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してinvitationリソースにアクセスする方法を示します。
resourceIndex
invitations
invitation
次のメソッドは、invitationリソースでサポートされています。
PUT
リクエスト-本体: invitation
レスポンス-本体: invitation
DELETE
リクエスト
表C-22に、invitationリソースの書込み可能要素を示します。
表C-22 invitationの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい(PUT) |
ACCEPTED IGNORED |
招待のステータス。 注意: 招待を受け入れるか無視するときに、それが自身の招待のリストから削除されます。 |
表C-24に、クライアントがinvitationリソースからリンクできるリソース・タイプを示します。
表C-24 invitationsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
フィードバック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のセキュリティに関する考慮事項」を参照してください。
この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:
この項では、クライアントがハイパーメディアを経由してfeedbackリソースにアクセスする方法を示します。
resourceIndex feedback
resourceIndex
person
feedback
次のメソッドは、feedbackリソースでサポートされています。
GET
リクエスト-パラメータ: startIndex、itemsPerPage
関連項目:
startIndexやitemsPerPageなどのREST APIパラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。
レスポンス-本体: message
関連項目:
messageの詳細は、「urn:oracle:webcenter:feedback:message」を参照してください。
POST: 許可されている場合は、ターゲット・ユーザーに対するフィードバックを追加できます。このメソッドは、現在のユーザーがターゲット・ユーザーへのコネクションを持っており、そのユーザーに対するフィードバックを追加する権限を持っている場合にのみ使用可能です。
リクエスト - 本体: feedback
<message resourceType="urn:oracle:webcenter:feedback:message">
<body>test from REST API</body>
<receivedUser>
<guid>4F16DD80393611DFBF895F177662C511</guid>
</receivedUser>
</message>
表C-25に、クライアントがfeedbackリソースからリンクできるリソース・タイプを示します。
表C-25 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 |
messageレスポンスには、フィードバック・メッセージ・データおよびフィードバック・メッセージの削除に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してmessageリソースにアクセスする方法を示します。
resourceIndex
feedback
message
resourceIndex
person
feedback
message
表C-27に、クライアントがfeedbackリソースからリンクできるリソース・タイプを示します。
表C-27 messageに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:feedback:message |
メッセージ・ボード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のセキュリティに関する考慮事項」を参照してください
この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:
messageBoardレスポンスには、ポータルおよび個々のユーザーのメッセージ・ボード・メッセージの読取り(GET)および投稿(POST)に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してmessageBoardリソースにアクセスする方法を示します。
resourceIndex messageBoard
resourceIndex
person
messageBoard
resourceIndex
spaces
space
messageBoard
次のメソッドは、messageBoardリソースでサポートされています。
GET
リクエスト-パラメータ: startIndex、itemsPerPage
関連項目:
startIndexやitemsPerPageなどのREST APIパラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。
レスポンス-本体: message
注意:
メッセージを読み取る(取得する)ためのREST GETコマンドは、デフォルトで表示されているメッセージをすべて取得します。「可視性に基づくメッセージのフィルタ処理」で説明されるように、アプリケーション・ユーザー・インタフェースを介してプライベートまたは非表示のメッセージも取得できます。メッセージの非表示および表示の詳細は、『Oracle WebCenter Portalでのポータルの構築』の「ポータルへのメッセージおよびフィードバックの追加」を参照してください。
POST
リクエスト-本体: message
メッセージのPOSTでは、メッセージへのリンクURLの組込みがサポートされています。
関連項目:
messageの詳細は、「urn:oracle:webcenter:messageBoard:message」を参照してください。
表C-28に、messageBoardリソースの読取り専用要素を示します。
表C-28 messageの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
String |
メッセージにリンクがある場合、 |
|
String |
リンクとともにメッセージの次のリンク・データを含みます。 |
表C-29に、クライアントがmessageBoardリソースからリンクできるリソース・タイプを示します。
表C-29 messageBoardに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:messageBoard |
NA |
messageレスポンスには、メッセージ・ボード・メッセージ・データと、ポータルまたは個々のユーザーのメッセージ・ボード・メッセージの読取り(GET)、改訂(PUT)および削除(DELETE)に使用するURIが含まれます。
この項では、クライアントがハイパーメディアを経由してmessageリソースにアクセスする方法を示します。
resourceIndex
messageBoard
message
resourceIndex
person
messageBoard
message
resourceIndex
spaces
space
messageBoard
message
次のメソッドは、messageリソースでサポートされています。
GET
リクエスト
レスポンス-本体: message
PUT
リクエスト-本体: message
レスポンス-本体: message
DELETE
リクエスト
表C-30に、messageリソースの書込み可能要素を示します。
表C-30 messageの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい |
1文字以上の文字 |
メッセージ・コンテンツ |
表C-32に、クライアントがmessageリソースからリンクできるリソース・タイプを示します。
表C-32 messageに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:messageBoard:message |
メッセージを取得するREST GETコマンドでデフォルトにより、表示されるすべてのメッセージを取得しても、一連の可視性フィルタを使用するアプリケーション・ユーザー・インタフェースを介して、プライベートまたは非表示のメッセージも取得できます。
メッセージ・ボードに投稿されたメッセージは次の可視性条件を持つことができます。
パブリック
プライベート
非表示
パブリックかつ非表示
プライベートかつ非表示
デフォルトでは、メッセージはパブリックです。
メッセージ・ボードの所有者は、任意のメッセージをプライベートとしてマークできます。メッセージがプライベートとしてマークされると、そのメッセージは、メッセージの所有者がプライベート・メッセージを選択して他の人に送信しないかぎり、所有者以外には表示されません。そうでない場合、他のユーザーがプライベート・メッセージを含むメッセージ・ボードを表示しても、パブリック・メッセージのみが表示されます。
メッセージ・ボードの所有者は、任意のメッセージを非表示としてマークできます。メッセージが非表示としてマークされると、そのメッセージはメッセージ・ボードの所有者には表示されませんが、メッセージ・ボードを表示する他のユーザーには表示されたままになります。
メッセージ・ボードURLフィルタのコンテキストは次のとおりです。
rest/api/messageBoards/<BOARD-TYPE>/<GUID>/<FILTER-TYPE>
説明:
<BOARD-TYPE>はpersonまたはspaceのいずれか
<GUID >は@me、person <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を使用して別のユーザーを招待してコネクション・リストに追加する方法を示します。招待が作成された後、招待を受けた人は、受け入れるか拒否するかを選択できます。この例では、招待の削除方法も示します。
この項には次のトピックが含まれます:
最初の手順は、REST APIメソッドでの通常の場合と同様に、リソース索引を取得することです。
GET http://<host:port>/rest/api/resourceIndex
次に、コネクションを持ちたい人を見つけます。これを行うには、次の手順を実行します。
リソース索引リストで、次のリソース・タイプを持つリンクについてスキャンします。
urn:oracle:webcenter:people:person
招待したいユーザーの検索を実行します。この例では、ユーザーの名前はMontyです。
GET http://<host:port>/rest/api/people?q=loginid:equals:monty&utoken=ASDF
図C-2に示すように、レスポンスでMontyのGUIDを探します。
GUIDを保存し、それを使用してそのユーザーとコネクションを持てるようにします。
招待を受ける人のGUIDを把握したら、その人を追加するリソースを見つける必要があります。この場合は、自身のconnectionsにその人を追加します。
自分のconnectionsリストを見つけるには、まず、ピープル・コネクションに関する項で"connections"を調べます。表C-12で、personリソースからconnectionsにリンクしていることがわかります。便宜上、この表を図C-3に示します。
connectionsがpersonリソースからリンクしていることがわかったので、personリソースを見つける必要があります。URNが示すように、次の手順に従ってpeopleリソースからpersonリソースにナビゲートします。
次のように、リソース索引に戻ります(または、前回表示したresourceIndexのキャッシュされたバージョンを使用します)。
GET http://<host:port>/rest/api/resourceIndex
peopleリソースについてスキャンして、次のものを見つけます。
urn:oracle:webcenter:people
peopleリソースのリンクを使用して自身のリストにアクセスします。
GET http://<host:port>/rest/api/people/@me/lists/@self?utoken=ASDF
表C-12に示されているresourceTypeおよびrelについて、返されたリンクを調べます。
resourceType="urn:oracle:webcenter:people:person:list rel="urn:oracle:webcenter:people:person:list:connections
自身の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"}
これで、Montyのアカウントにログインしたときに、招待が追加されていることを確認できます(図C-4を参照)。
招待が送信された後、次のステップでは、招待を受けた人(Monty)が招待を受け入れます。
2番目のRESTクライアントを使用して、次のようにリソース索引を取得します。
GET http://<host:port>/rest/api/resourceIndex
Montyとしてログインします。
次のリクエストを実行して、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>
招待を受け入れるには、次のリクエストを実行します。
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のステータス・コードです。
この項は、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のサービス・ドキュメントを参照してください。
この項には次のトピックが含まれます:
コンテンツ管理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:baseTypeIdはcmis:folderまたはcmis:documentとなります。また、タイプのcmis:baseIdはcmis:folderまたはcmis:documentとなります。
CMISオブジェクト型には、Oracle WebCenter Content: Content Serverメタデータ・フィールド定義およびOracle WebCenter ContentのSite Studioリージョン定義からマップされたフィールドが含まれています。
Oracle WebCenter Contentメタデータ・フィールドからCMISプロパティ定義へのマッピングは、次のとおりです。
表C-33 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-34 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をサポートしていません。許容されるアクションの詳細は、次の項を参照してください。
この項では、オブジェクトに対して定義される許容可能なアクションを一覧表示します。このリリースの実装内容により、すべてのオブジェクトに対してハードコードされているアクションも一部あります。その他の許容可能なアクションは、リポジトリ構成に基づいて設定されます。
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問合せは結果セットを返します。結果セットの各エントリ・オブジェクトには、問合せで指定されたプロパティのみが含められます。コンテンツ管理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フィールドをソート可能にします。
「管理」に移動して、「管理アプレット」を開きます。
Configuration Managerアプレットを開いて、「拡張検索のデザイン」をクリックします。
順序付け可能にするフィールドを編集し、「ソート可能」を選択します。
変更内容を保存して「管理」を修了します。
表C-35に、具体的な検索に関する考慮事項と推奨事項を示します。問合せの例は、「コンテンツ管理REST APIのベスト・プラクティスおよび例」を参照してください。
表C-35 検索に関する考慮事項と推奨事項
| 考慮事項 | 推奨事項 |
|---|---|
Oracle WebCenter Contentでは、null値または非null値での問合せに対するサポートが限定的です。 |
検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。 |
フォルダの再帰的検索は、Oracle WebCenter Contentではサポートされていませんが、Oracle WebCenter Contentサーバーで右記のように構成されている場合、ドキュメント用にサポートされます。 |
検索範囲には、ドキュメントのみを含めるようにしてください( 検索オブジェクト上に検索パスを設定します(
|
多値プロパティの演算子はサブストリング・マッチを実行します。これは、 |
検索動作での相違に注意して、必要以上のマッチ数を検出しないようにするために、Configuration Managerアプレット内のOracle WebCenter Contentオプション・リスト・デリミタ文字を変更することを考慮してください。 |
フォルダ( |
Oracle WebCenter Contentフォルダ検索では、 |
すべてのプロパティが検索可能というわけではなく、検索で検索可能でないプロパティに遭遇した場合はParseExceptionが返されます(400エラー)。 |
Oracle WebCenter Content Configuration Manager情報フィールドのセクションを調べるか、ContentType定義を確認することで、指定のコンテンツ・タイプに対してどのプロパティが検索可能か理解してください。 URLの例:
または、CMISを介して固有のタイプを調べます。 |
すべてのContentTypeが検索可能というわけではありません。検索できないContentTypesに対して検索を試みると、例外がスローされます。たとえば、 |
すべてのContentTypeが検索可能というわけではないことに注意してください。 |
String多値プロパティのみ検索可能です。 |
String以外の多値プロパティ・タイプの検索を指定しないでください。 |
|
サポートされている構文を使用して問合せを再構成してください。 |
ソート基準は1つしかサポートされていません。 |
2つ以上のソート基準を使用する検索表現式を記述しないでください。 |
ソートまたは索引の付いていないフィールドは、結果的に例外となります。 索引の付いていないフィールドで検索を実行すると、「DRG-10837: セクションdStatusは存在しません」などの埋込み例外コードで、例外がスローされます。 |
ソート基準としてそれらを使用する前に、どのフィールドに索引が付けられているのか把握してください。 URLの例: |
検索問合せでは空の値は許可されていません。 |
|
|
検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。 |
同じOracle WebCenter Contentリポジトリでの複数の検索パスはサポートされません。 |
検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。 |
ドキュメントの検索時には、Oracle WebCenter Contentが適切に構成されていれば再帰的検索(フォルダ・ツリー検索)がサポートされます。 検索パスが設定されていない場合には、リポジトリ内のすべてのドキュメント(ファイル済と未ファイル分の両方)が検索されます。 |
コンテンツ・サーバーの |
ドキュメントの検索で |
検索動作での相違に注意して、サポート対象外の基準に左右される検索表現式を記述しないでください。 |
ドキュメント(select * from cmis:document)を検索する場合、複数のコンテンツ・タイプに検索を限定することはできません。たとえば、 |
検索を複数のコンテンツ・タイプに限定する必要がある場合は、複数の問合せを出して同じ動作を実現します。すべてのタイプを横断的に検索する場合は、select文内でcmis:documentを使用します。 |
|
この機能が必要がある場合は、複数の問合せを発行して同じ動作を実現します。 |
|
|
問合せは、Oracle WebCenter Content検索エンジンの選択に応じて大文字と小文字を区別する場合があります。 |
Oracle WebCenter Content検索エンジンの選択は、大文字と小文字を区別するかどうかに影響することがあるので注意してください。メタデータがOracleTextSearchを使用して検索すると、検索エンジンは一般に大文字と小文字を区別しません。メタデータが |
CMIS仕様の第2.2項「Services」で説明されているメソッドは、コンテンツ管理REST APIによって実装されています。具体的な実装の詳細は、「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の使用に関するベスト・プラクティスおよび例を示します。問合せ構文の詳細は、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')
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のセキュリティに関する考慮事項」を参照してください。
この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:
このリソースを使用して、ポータル・イベントの取得(GET)および作成(POST)に使用するURIを識別します。GET操作からのレスポンスには、このイベント・コレクション内の各ポータル・イベントが含まれており、各イベントには、そのイベントの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このイベント・コレクションに作成されたイベントと、そのイベントを操作するリンクが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceIndex
spaces
gsEvents
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: <gsCategory>、パラメータ: startIndex、itemsPerPage、utoken
これらの共通パラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。
次の追加パラメータを使用できます。
startDate: ポータル・イベントのリストを開始する日付
endDate: ポータル・イベントのリストを終了する日付
開始日と終了日については、YYYY-MM-DD形式(例: 2011-09-01)を使用します。時間(例: 2011-09-01T09:00:00)とタイムゾーン記号(例: UTCの場合は2011-09-01T09:00:00Z)も指定できます。
レスポンス - 本体: 0個以上のイベント
POST
リクエスト - 本体: イベント
レスポンス - 本体: イベント
表C-36に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-36 gsEventsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:events:gsEvents |
このリソース・タイプを使用して、特定のポータル・イベントの読取り(GET)、更新(PUT)または削除(DELETE)に使用するURIを識別します。GET操作からのレスポンスには、URIで識別される特定のイベントが含まれています。PUT操作からのレスポンスには、URIで識別されるイベントの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
レスポンス - 本体: イベント
PUT
リクエスト - 本体: イベント
レスポンス - 本体: イベント
DELETE
リクエスト - 本体: なし
レスポンス - 本体: なし
表C-37に、このリソースの書込み可能要素を示します。
表C-37 gsEventの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
いいえ |
ポータルに対して定義されるイベント・カテゴリの名前 |
イベントが属するカテゴリ。 注意: カテゴリが存在しない場合は、イベントが作成中であればデフォルトのカテゴリが使用されます。ただし、イベントが変更中の場合はエラーが発生します。 |
|
String |
いいえ |
1文字以上の文字 |
イベントに関する詳細 |
|
Date |
はい |
YYYY-MM-DDTHH:MM:SS
|
イベントが終了する日時 |
|
String |
いいえ |
1文字以上の文字 |
イベントが発生する場所 |
|
String? |
いいえ |
1 - 最高 2 - 高 3 - 普通 4 - 低 5 - 最低 |
イベントがクラッシュしたときに表示される場所を決定する、イベントの優先度 |
|
Date |
はい |
YYYY-MM-DDTHH:MM:SS |
イベントが開始する日時 |
|
String |
はい |
1文字以上の文字 |
イベントのタイトルとしての役割を果たす、イベントの簡単な説明 |
表C-38に、このリソースの読取り専用要素を示します。
表C-38 gsEventの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
personReference |
イベントを作成したユーザー |
|
Date |
イベントが作成された日付 |
|
String |
イベントの長さ(分単位) |
|
groupSpaceReference |
イベントが属するポータル |
|
String |
イベントの一意のID |
|
Boolean |
イベントが一日中行われるかどうか |
|
Date |
イベントが最後に更新された日付 |
|
personReference |
イベントを最後に更新したユーザー |
表C-39に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-39 gsEventに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:events:gsEvent |
このリソースを使用して、ポータル・イベント・カテゴリの取得(GET)および作成(POST)に使用するURIを識別します。GET操作からのレスポンスには、このカテゴリ・コレクション内の各カテゴリが含まれており、各カテゴリには、そのカテゴリの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このカテゴリ・コレクションに作成されたカテゴリと、そのカテゴリを操作するリンクが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceIndex
spaces
gsCategories
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: カテゴリ
レスポンス - 本体: 0個以上のカテゴリ
POST
リクエスト - 本体: カテゴリ
レスポンス - 本体: カテゴリ
表C-40に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-40 gsCategoriesに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:events:gsCategories |
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のセキュリティに関する考慮事項」を参照してください。
この項では、各リソース・タイプについて説明します。次のトピックが含まれています:
このリソース・タイプを使用して、URIを識別し、タグの参照(GET)に使用します。GET操作からのレスポンスには、すべてのタグ、特定のタグ、タグのサブセット、あるいは特定のタグまたはユーザーのリストに関連するタグが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex tags
resourceindex
spaces
spaces:resourceindex
spaces:tags
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: startIndex、itemsPerPage、keyword、serviceId、relatedTag、userId、scopeGuid、shared、tags、users
レスポンス - 本体: 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-41に、各操作で使用可能なパラメータの組合せを示します。たとえば、tagsパラメータはserviceIdパラメータと一緒には指定できません。
表C-41 タグの取得で使用可能なパラメータの組合せ
| 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 |
- |
- |
resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。
表C-42に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグには、それ自身と、結果の次のページまたは前のページへのリファレンス・リンクがあります。
表C-42 tagsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
前/次 |
このリソース・タイプを使用して、URIを識別し、タグの参照(GET)、名前変更(PUT)および削除(DELETE)に使用します。GET操作からのレスポンスには、すべてのタグ、特定のタグ、タグのサブセット、あるいは特定のタグまたはユーザーのリストに関連するタグが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
tags
tag
resourceindex
spaces
spaces:resourceindex
spaces:tags
spaces:tag
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: なし
レスポンス - 本体: tag
PUT
リクエスト - 本体: tag
レスポンス - 本体: tag
DELETE
リクエスト - 本体: なし
レスポンス - 本体: なし
例: タグ名を変更するためのPUTコマンドの本文
<tag> <name>newId</name> </tag>
resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。
表C-43に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグには、それ自身、関連するtaggedItem、関連するユーザーおよび関連するタグへのリファレンス・リンクがあります。
表C-43 tagに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:tagging:tag urn:oracle:webcenter:tagging:taggedItems |
このリソース・タイプを使用して、タグ付けされたアイテムと関連するリソースを参照するため(GET)またはタグ付けされたアイテムを追加するため(POST)に使用するURIを識別します。
GET操作のレスポンスには、1つのタグ付きアイテムまたは日付、タグ・ワードなどでフィルタできるすべてのタグ付きアイテムが含まれています。各タグには、そのタグでの操作に使用されるリンクがあります。POST操作のレスポンスには、このタグのコレクション内で作成されたタグ付きアイテムとそれらのタグでの操作に使用されるリンクが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex taggedItems
resourceindex
spaces
spaces:resourceindex
spaces:taggedItems
次のメソッドは、このリソースによりサポートされています:
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
リクエスト - 本体: なし、パラメータ: serviceId、keyword、relatedRID、tags、users、dt、scopeGuid、shared、itemsPerPage
レスポンス - 本体: タグ付けしたアイテム
説明:
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-44に、各操作で使用可能なパラメータの組合せを示します。たとえば、tagsパラメータはserviceIdパラメータと一緒には指定できません。
表C-44 タグ付きアイテムの取得で使用可能なパラメータの組合せ
| 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 |
- |
resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。
表C-45に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグ付きアイテムには、それ自身と、結果の次のページまたは前のページへのリファレンス・リンクがあります。
表C-45 taggedItemsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
前/次 |
このリソース・タイプを使用して、タグ付けされたアイテムと関連するリソースを参照するため(GET)、タグ付けされたアイテムを追加するため(POST)、タグ付けされたアイテムのタグを更新するため(PUT)およびアイテムからすべてのタグを削除するため(DELETE)に使用するURIを識別します。
GET操作のレスポンスには、1つのタグ付きアイテムまたは日付、タグ・ワードなどでフィルタできるすべてのタグ付きアイテムが含まれています。各タグには、そのタグでの操作に使用されるリンクがあります。POST操作のレスポンスには、このタグのコレクション内で作成されたタグ付きアイテムとそのタグ付きアイテムで操作するためのリンクが含まれています。
taggedItemへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
taggedItems
taggedItem
resourceindex
spaces
spaces:resourceindex
spaces:taggedItems
spaces:taggedItem
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: serviceId、keyword、tags、users、dt、shared、itemsPerPage
レスポンス - 本体: タグ付けしたアイテム
説明:
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
リクエスト - 本体: なし
レスポンス - 本体: なし
resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。
表C-46に、クライアントがこのリソースからリンクできるリソース・タイプを示します。タグ付きアイテムには、それ自身および関連するタグ付きアイテムへのリファレンス・リンクと外部リンクがあります。
表C-46 taggedItemに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
alternate |
リソースのタイプは、タグが付けられたリソースのタイプによって異なります。たとえば、ページはurn:oracle:webcenter:page:pageのようになります |
このリソース・タイプを使用して、特定のタグのリストに関係するピープルのリストを取得します。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex taggingusers
resourceindex
spaces
spaces:resourceindex
spaces:taggingusers
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: startIndex、itemsPerPage、tags、users
レスポンス - 本体: peopleプロファイル
説明:
startIndex - 結果セットに含める、最初に一致する結果のインデックスを指定します(0-n ... 0から始まる)。これはページ区切りに使用されます。
itemsPerPage - レスポンスで返す結果の最大数を指定します(1-n)。これはページ区切りに使用されます。
tags - URLエンコードのスペース(+)で区切られたこのタグ・リストでフィルタするように指定します。たとえば、「webcenter」と「help」がタグ付けされたアイテムは、tags=webcenter+helpで検索できます。
users - URLエンコードのスペース(+)で区切られたこのユーザー・リストでフィルタするように指定します。たとえば、users=monty+vicki+pat。
resourceTypeリンク属性は、リンクが指すリソースのタイプを示しています。クライアントはresourceTypeを使用して、GETおよびPOSTの予測されるレスポンス本文とPOSTおよびPUTの許容されるリクエスト本文を判断します。
表C-47に、個々のユーザーがこのリソースからリンクできるリソース・タイプを示します。ユーザーには、それ自身と、結果の次のページまたは前のページへのリファレンス・リンクがあります。
表C-47 usersに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
前/次 |
WebCenter Portalは、ディスカッションをサポートするためのREST APIを提供しています。ディスカッションのREST APIを使用すると、ディスカッション・フォーラム、トピックおよびメッセージを投稿、参照、更新および削除できます。
この項では、ディスカッションに関連する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)をサポートします。その他の問合せパラメータ(searchとprojection)はサポートされていません。
ディスカッションでは、セキュリティに関する特定の考慮事項はありません。一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIの概要」を参照してください。
この項では、各リソース・タイプについて説明します。次のトピックが含まれています:
ディスカッション・フォーラムの参照(GET)および書込み(POST)に使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、このフォーラム・コレクション内の各フォーラムが含まれており、各フォーラムには、そのフォーラムの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このフォーラム・コレクションに作成されたフォーラムと、そのフォーラムを操作するリンクが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex forums
resourceindex
spaces
spaces:resourceindex
spaces:forums
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: startIndex、itemsPerPage (ページ区切り)
レスポンス - 本体: forums
POST
リクエスト - 本体: forum
レスポンス - 本体: forum
1ページに表示されるフォーラムの数のデフォルトは10です。詳細は、「テンプレート」を参照してください。
表C-48に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-48 forumsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
特定のディスカッション・フォーラムの参照(GET)、更新(PUT)および削除(DELETE)で使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、URIで識別された特定のフォーラムが含まれています。PUT操作からのレスポンスには、URIで識別されるフォーラムの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
forums
forum
resourceindex
spaces
spaces:resourceindex
spaces:forums
forum
resourceindex
activities
forum
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
レスポンス - 本体: forum
PUT
リクエスト - 本体: forum
レスポンス - 本体: forum
DELETE
リクエスト - 本体: なし
レスポンス - 本体: なし
表C-49に、このリソースの書込み可能要素を示します。
表C-49 forumの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい |
1文字以上の文字 |
フォーラムの名前 |
|
String |
いいえ |
1文字以上の文字 |
表示に使用される名前 |
|
String |
いいえ |
1文字以上の文字 |
フォーラムの説明 |
表C-50に、このリソースの読取り専用要素を示します。
表C-50 forumの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
Integer |
フォーラムのID |
|
Integer |
親カテゴリのID |
|
String |
フォーラムを作成したユーザーのID |
|
personReference |
フォーラムを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
|
Date |
フォーラムが作成された日付 |
|
String |
最後に変更を行ったユーザーのID |
|
personReference |
最後に変更を行ったユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
|
Date |
フォーラムが最後に変更された日付 |
|
String |
ディスカッション・サーバーへのダイレクト・アクセスURL |
|
Integer |
トピック数 |
|
Integer |
メッセージ数 |
|
Boolean |
フォーラムがロックされている場合はTrue |
|
Boolean |
このフォーラムがお気に入りとしてマークされている場合はTrue |
表C-51に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-51 forumに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
ディスカッション・トピックの参照(GET)および書込み(POST)に使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、このトピック・コレクション内の各トピックが含まれており、各トピックには、そのトピックの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このトピック・コレクションに作成されたトピックと、そのトピックを操作するリンクが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
forums
topics
resourceindex
spaces
spaces:resourceindex
spaces:forums
topics
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: startIndex、itemsPerPage (ページ区切り)
レスポンス - 本体: topics
POST
リクエスト - 本体: topic
レスポンス - 本体: topic
詳細は、「テンプレート」を参照してください。
表C-52に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-52 topicsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
特定のディスカッション・トピックの参照(GET)、更新(PUT)および削除(DELETE)で使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、URIで識別される特定のトピックが含まれています。PUT操作からのレスポンスには、URIで識別されたトピックの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
forums
topics
topic
resourceindex
spaces
spaces:resourceindex
spaces:forums
topics
topic
resourceindex
activities
topicT
次のメソッドは、このリソース・タイプでサポートされています。
GET
リクエスト-本体: なし
レスポンス-本体: topic
PUT
リクエスト-本体: topic
レスポンス-本体: topic
DELETE
リクエスト-本体: なし
レスポンス-本体: なし
表C-53に、このリソース・タイプの書込み可能要素を示します。
表C-53 topicの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい |
1文字以上の文字 |
トピックの件名 |
|
String |
いいえ |
0文字以上の文字 |
トピックの内容 |
表C-54に、このリソース・タイプの読取り専用要素を示します。
表C-54 topicの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
Integer |
トピックの識別子 |
|
Integer |
親メッセージの識別子 |
|
Integer |
このトピックの投稿先フォーラムの識別子 |
|
Integer |
このトピックの投稿先トピックの識別子 |
|
String |
トピックを作成したユーザーのID |
|
personReference |
トピックを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
|
Date |
トピックが作成された日付 |
|
String |
トピックを最後に更新したユーザー |
|
Date |
トピックが最後に更新された日付 |
|
String |
ディスカッション・サーバーへのダイレクト・アクセスURL |
|
Integer |
メッセージの階層の深度 |
|
Integer |
このトピックの下の子メッセージ数 |
|
Integer |
このトピックに対する返信数 |
|
Boolean |
そのユーザーでは、このトピックがお気に入りとしてのマークされているかどうか |
|
Boolean |
トピックがロックされているかどうか |
|
Boolean |
トピックが非表示かどうか |
|
Boolean |
トピックの添付ファイルの有無 |
表C-55に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-55 topicに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
ディスカッション・トピック・メッセージの参照(GET)および書込み(POST)に使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、このメッセージ・コレクション内の各メッセージが含まれており、各メッセージには、そのメッセージの操作で使用するリンクが含まれています。POST操作からのレスポンスには、このメッセージ・コレクションに作成されたメッセージと、そのメッセージを操作するリンクが含まれています。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
forums
topics
messages
resourceindex
spaces
spaces:resourceindex
spaces:forums
topics
messages
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: startIndex、itemsPerPage (ページ区切り)
レスポンス - 本体: messages
POST
リクエスト - 本体: message
レスポンス - 本体: message
詳細は、「テンプレート」を参照してください。
表C-56に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-56 messagesに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
特定のディスカッション・トピック・メッセージの参照(GET)、更新(PUT)および削除(DELETE)で使用するURIを識別するには、このリソース・タイプを使用します。GET操作からのレスポンスには、URIで識別される特定のメッセージが含まれています。PUT操作からのレスポンスには、URIで識別されるメッセージの変更されたバージョンが含まれています。DELETE操作からのレスポンスは、204です。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex
forums
topics
messages
message
resourceindex
spaces
spaces:resourceindex
spaces:forums
topics
messages
message
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
レスポンス - 本体: message
PUT
リクエスト - 本体: message
レスポンス - 本体: message
DELETE
リクエスト - 本体: なし
レスポンス - 本体: なし
表C-57に、このリソースの書込み可能要素を示します。
表C-57 messageの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
|
String |
はい |
1文字以上の文字 |
このメッセージの件名 |
|
String |
いいえ |
0文字以上の文字 |
このメッセージの内容 |
表C-58に、このリソースの読取り専用要素を示します。
表C-58 messageの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
Integer |
メッセージのID |
|
Integer |
親メッセージのID |
|
Integer |
メッセージの投稿先フォーラムのID |
|
Integer |
メッセージの投稿先トピックのID |
|
String |
メッセージを作成したユーザーのID |
|
personReference |
メッセージを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
|
Date |
メッセージが作成された日付 |
|
String |
最後に変更を行ったユーザー |
|
Date |
メッセージが最後に変更された日付 |
|
String |
ディスカッション・サーバーへのダイレクト・アクセスURL |
|
Integer |
メッセージの階層の深度 |
|
Integer |
メッセージ数 |
|
Integer |
このメッセージに対する返信数 |
|
Boolean |
このメッセージが非表示の場合はTrue |
|
Boolean |
メッセージに添付ファイルがある場合はTrue |
表C-59に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-59 messageに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
Oracle WebCenter Portalには、用意されたタスク・フローではなく、インタフェースを介してリスト機能にアクセスできるREST APIがあります。リストREST APIを使用すると、次のアクションを実行できます。
ポータル内でのリストの使用。リスト群からのリストの取得、新しいリストの追加などがあります
1つのリストの使用。リスト・メタデータの取得または更新、リストの削除などがあります
リスト内の行の使用
リスト行の使用。行の取得、更新、削除などがあります
列の使用。列の追加などがあります
リスト列の使用。列の取得、更新、削除などがあります
この項では、リストに関連付けられたREST APIメソッドについて説明します。次のトピックが含まれています:
関連項目:
REST APIの概要は、「WebCenter Portal REST APIの概要」を参照してください。
WebCenter PortalのポータルでリストのRESTエントリ・ポイントを取得するには、特定のポータルを検索してリソース索引を取得します。対応するhrefまたはtemplate要素によって、ポータル内のリストを取得するURIエントリ・ポイントが提供されます。
リストを取得するポータルに移動します。
次のリソース索引を取得します。
urn:oracle:webcenter:resourceindex
返されたhrefに移動します。
リソース・タイプを検索します。たとえば、ポータルのすべてのリストを取得するには、次のように検索します。
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のセキュリティに関する考慮事項」を参照してください。
この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:
listsレスポンスでは、特定のポータル内のリストを取得する方法(GET)およびリストをポータルに追加する方法(POST)が提供されます。この項には次のトピックが含まれます:
この項では、クライアントがハイパーメディアを経由してlistsリソースにアクセスする方法を示します。
urn:oracle:webcenter:resourceindex urn:oracle:webcenter:spaces urn:oracle:webcenter:space:resourceindex urn:oracle:webcenter:space:lists
listsリソース・タイプでは、次のメソッドがサポートされます。
GETこのメソッドは、ポータル内のリストを取得します。
リソースURI。例:
http://host:port/rest/api/spaces/vs1/lists?q=name:equals:ProjectIssues&utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
リクエスト本体: なし
リクエスト・ヘッダー: [Accept = application/xml | application/json]
リクエスト・パラメータ - startIndex、itemsPerPage、q、projection
問合せ用のqパラメータの形式は'q=attribute:operator:value'です。例:
'q=name:equals:ProjectIssues'
Stringsでサポートされる演算子: equals、not.equals、contains、starts.with
Datesでサポートされる演算子: equals、not.equals、greater.than、greater.than.or.equals、less.than、less.than.or.equals
複数の条件をセミコロン(;)で区切って指定できます。
検索可能な属性(表C-60)
表C-60 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>
POSTこのメソッドは、ポータル内にリストを作成します。
リソースURI。例:
http://host:port/rest/api/spaces/vs1/lists?utoken=FKld8lalI3QRdi8TgQkOCGEzxL5x_w**
リクエスト本文: <list>
書込み可能要素(表C-61)
例:
<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-62)
表C-62 listsから取得される要素
| 要素 | タイプ | 説明 |
|---|---|---|
id |
string |
リストのID |
name |
string |
リストの名前 |
description |
string |
リストの説明 |
scope.guid |
string |
リストが属するポータルのGUID |
scope.name |
string |
リストが属するポータルの名前 |
creator |
string |
リストを作成したユーザーの名前 |
created |
date |
リストが作成された日付 |
modifier |
string |
最後にリストを変更したユーザーの名前 |
modified |
date |
最後にリストが変更された日付 |
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>
表C-63に、クライアントがlistsリソースからリンクできるリソース・タイプを示します。
表C-63 listsからリンクされるリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
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
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-64)
表C-64 listで取得される要素
| 要素 | タイプ | 説明 |
|---|---|---|
id |
string |
リストのID |
name |
string |
リストの名前 |
description |
string |
リストの説明 |
scope.guid |
string |
リストが属するポータルのGUID |
scope.name |
string |
リストが属するポータルの名前 |
creator |
string |
リストを作成したユーザー |
created |
Date |
リストが作成された日付 |
modifier |
string |
最後にリストを変更したユーザー |
modified |
Date |
リストが最後に変更された日付 |
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>
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-65)
表C-65 listの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
name10 |
string |
はい |
1文字以上の文字 |
このリストの名前 |
description |
string |
いいえ |
なし |
このリストの説明 |
例:
<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>
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]
レスポンス本体: なし
表C-66に、クライアントがlistリソースからリンクできるリソース・タイプを示します。
表C-66 listからリンクされるリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
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): 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]
リクエスト・パラメータ - startIndex、itemsPerPage、q、projection
問合せ用のqパラメータの形式は'q=columnId:operator:value'です。例:
'q=lco_9bdd1418_6004_40ba_a052_04e8335b7ee8:equals:2'
Stringsでサポートされる演算子: equals、not.equals、contains、starts.with
NumbersとDatesでサポートされる演算子: equals、not.equals、greater.than、greater.than.or.equals、less.than、less.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-67)
例:
<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-68)
表C-68 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>
表C-69に、クライアントがrowsリソースからリンクできるリソース・タイプを示します。
表C-69 rowsからリンクされるリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
parent |
|
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
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-70)
表C-70 rowで取得される要素
| 要素 | タイプ | 説明 |
|---|---|---|
id |
string |
行のID |
listId |
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/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>
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-71)
例:
<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>
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]
レスポンス本体: なし
表C-72に、クライアントがrowリソースからリンクできるリソース・タイプを示します。
表C-72 rowからリンクされるリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
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
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>
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-73)
表C-73 columnsの書込み可能要素
| 要素 | タイプ | 制約 | 説明 |
|---|---|---|---|
name15 |
string |
— |
列の名前。 |
dataType16 |
string |
|
列のデータ型 |
required |
boolean |
|
列の値が必須かどうか |
defaultValue |
列のデータ型 |
オブジェクトがデータ型と一致する必要がある |
列のデフォルト値 |
maxLength |
int |
|
文字列値の最大長 |
rangeLow |
int |
|
|
rangeHigh |
int |
|
|
format |
string |
次の
次の
|
列の形式 |
allowLinks |
boolean |
|
ハイパーリンクを列の値に指定できるかどうか |
linkTarget |
string |
|
|
editLines |
int |
|
列値を編集する際の行数(デフォルトは1) |
peopleScope |
string |
|
ディレクトリ内のすべてのユーザーを有効とするか、あるいはリストを含むポータルのメンバーを有効とするか |
displayWidth |
int |
— |
列のピクセル単位での表示幅 |
hint |
string |
— |
列値を入力する際にユーザーに表示されるヒント |
例:
<metaColumn> <name>Notes</name> <dataType>richtext</dataType> </metaColumn
リクエスト・ヘッダー: Content-Type = application/xml | application/json, [Accept = application/xml | application/json]
レスポンス・ステータス: 201 [Created]
レスポンス本文: <metaColumn>
取得される要素(表C-74)
表C-74 columnsから取得される要素
| 要素 | タイプ | 説明 |
|---|---|---|
id |
string |
列のID |
name |
string |
列の名前。 |
dataType |
string |
列のデータ型 |
required |
boolean |
列の値が必須かどうか |
defaultValue |
列のデータ型 |
列のデフォルト値 |
maxLength |
int |
文字列値の最大長 |
rangeLow |
int |
|
rangeHigh |
int |
|
format |
string |
列の形式 |
allowLinks |
boolean |
ハイパーリンクを列の値に指定できるかどうか |
linkTarget |
string |
|
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>
表C-75に、クライアントがcolumnsリソースからリンクできるリソース・タイプを示します。
表C-75 columnsからリンクされるリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
parent |
|
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): 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-76)
表C-76 columnで取得される要素
| 要素 | タイプ | 説明 |
|---|---|---|
id |
string |
列のID |
name |
string |
列の名前。 |
dataType |
string |
列のデータ型 |
required |
boolean |
列の値が必須かどうか |
defaultValue |
列のデータ型 |
列のデフォルト値 |
maxLength |
int |
文字列値の最大長 |
rangeLow |
int |
|
rangeHigh |
int |
|
format |
string |
列の形式 |
allowLinks |
boolean |
ハイパーリンクを列の値に指定できるかどうか |
linkTarget |
string |
|
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-77)
表C-77 columnの書込み可能要素
| 要素 | タイプ | 制約 | 説明 |
|---|---|---|---|
name17 |
string |
— |
列の名前。 |
dataType18 |
string |
|
列のデータ型 |
required |
boolean |
|
列の値が必須かどうか |
defaultValue |
列のデータ型 |
オブジェクトがデータ型と一致する必要がある |
列のデフォルト値 |
maxLength |
int |
|
文字列値の最大長 |
rangeLow |
int |
|
|
rangeHigh |
int |
|
|
format |
string |
次の
次の
|
列の形式 |
allowLinks |
boolean |
|
ハイパーリンクを列の値に指定できるかどうか |
linkTarget |
string |
|
|
editLines |
int |
|
列値を編集する際の行数(デフォルトは1) |
peopleScope |
string |
|
ディレクトリ内のすべてのユーザーを有効とするか、あるいはリストを含むポータルのメンバーを有効とするか |
displayWidth |
int |
— |
列のピクセル単位での表示幅 |
hint |
string |
— |
列値を入力する際にユーザーに表示されるヒント |
例:
<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]
レスポンス本体: なし
表C-78に、クライアントがcolumnリソースからリンクできるリソース・タイプを示します。
表C-78 columnからリンクされるリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
|
WebCenter Portalには、アクティビティ・グラフをサポートするREST APIが用意されています。アクティビティ・グラフREST APIを使用して、コネクション、ポータルおよびアイテムの推奨を提供するための独自のインタフェースを作成します。
この項では、アクティビティ・グラフに関連付けられているREST APIについて説明します。次のトピックが含まれています:
REST APIの概要は、「WebCenter Portal REST APIの概要」を参照してください。
各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。アクティビティ・グラフには、推奨用とアイテム用の2つのエントリ・ポイントがあります。アクティビティ・グラフ・のエントリ・ポイントを検索するには、次のいずれかのresourceTypeを使用したリンク要素を検索します。
urn:oracle:webcenter:activitygraph:recommendations urn:oracle:webcenter:activitygraph:items
対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供されます。クライアントは、このエントリ・ポイントにHTTPリクエストを送信し、アクティビティ・グラフを使用します。
リソース索引の詳細は、「リソース索引の使用」を参照してください。
リソース・タイプの詳細は、「リソース・タイプ」を参照してください。
クライアントでは、使用するエントリ・ポイントが識別されると、リソース・タイプの分類が精査されて必要な操作が実行されます。
アクティビティ・グラフの分類は、次のとおりです。
urn:oracle:webcenter:activitygraph:recommendations urn:oracle:webcenter:activitygraph:recommendations:recommendation urn:oracle:webcenter:activitygraph:items urn:oracle:webcenter:activitygraph:items:item
この項では、各リソース・タイプについて知っておく必要があるすべての情報を提供します。次のトピックが含まれています:
このリソースを使用して、指定したオブジェクトに対する類似度に基づいて推奨されたコネクション、ポータル、アイテムの取得(GET)に使用するURIを識別します。GET操作のレスポンスには、要求されているリストの各オブジェクトが含まれ、各オブジェクトには、そのオブジェクトの操作に使用した各リンクが含まれます。
アクティビティ・グラフに存在する各ノードは、ノード・クラスURNとオブジェクトURNの組合せによって識別されます。
たとえば、montyというユーザーを識別するには、次のように指定できます。
classURN=WC.user
objectURN=monty
デフォルトで提供されるノードは、すべてWebCenter Portalリソース(ユーザー、ドキュメント、ポータルなど)であるため、WebCenter PortalサービスとリソースIDを備えています。アクティビティ・グラフREST APIは、serviceIdとobjectURN(リソースIDを含む)を使用してこれらのデフォルト・ノードを識別するための別の方法を提供します。
たとえば、montyというユーザーを識別するには、次のように指定できます。
serviceId=oracle.webcenter.people
objectURN=monty
サービスのオブジェクトが、ドキュメント・ツールなどのリソース・タイプでさらに分類されている場合、そのリソース・タイプも指定する必要があります。
たとえば、特定のドキュメントを識別するには、次のように指定できます。
serviceId=oracle.webcenter.doclib
resourceType=document
objectURN=document1
作成された新しいノード・クラス(つまり、非ネイティブのWebCenter Portalオブジェクト)はいずれも、ノード・クラスとオブジェクトURNを使用して識別する必要があります。
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceIndex recommendations
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - パラメータ: startIndex、itemsPerPage、utoken。
これらの共通パラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。
次の追加パラメータを使用できます。
classURN - 推奨を要求するオブジェクトのタイプを識別するノード・クラスURN。たとえば、WC.user、WC.group-documentです。
objectURN - 推奨を要求するオブジェクトに一意の識別子を提供するオブジェクトURN。たとえば、monty、1000です。
recipe - 推奨オブジェクトを決定するために使用される類似度URNとオプションで関連付けられた重み(コロンで示される)のセミコロン区切りのリスト。たとえば、gs-edit:10;gs-all:1です。
classURNRestrictions - 推奨から除外される、ノード・クラスURNによって識別されるオブジェクト・タイプのカンマ区切りリスト
excludeObjectActions - 現在のユーザーがオブジェクトにアクションを実行した場合に推奨からオブジェクトを除外するために使用され、アクションURNによって識別されるアクションのカンマ区切りリスト。たとえば、クライアントが推奨ポータルを取得する場合は、(ユーザーがそれらのポータルを認識した以降に)クライアント・ユーザーが編集したポータルを除外するためにgs-editアクションを指定できます。
serviceId - 推奨をリクエストしているオブジェクトのタイプを識別するWebCenter PortalサービスID (デフォルト・オブジェクトのclassURNのかわりにこれを使用できます)。
resourceType - 推奨をリクエストしているオブジェクトのWebCenter Portalリソース・タイプ。必要に応じて、serviceIdと組み合せて使用します。
userCredentialClassURN - ユーザー演習用REST APIのノード・クラスURN。デフォルト値はWC.userです。アクティビティ・グラフ・エンジンを別のアプリケーションに統合する場合、別のノード・クラスへの変更が必要な場合があります。
レスポンス - 本体: 0以上の推奨
詳細は、「テンプレート」を参照してください。
表C-79に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-79 recommendationsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:activitygraph:recommendations |
推奨レスポンスには、推奨オブジェクトと、そのオブジェクトへのアクセスに使用するURIが含まれています。
この項では、クライアントがハイパーメディアを経由してrecommendationリソースにアクセスする方法を示します。
resourceIndex
recommendations
recommendation
表C-80に、recommendationsリソースの読取り専用要素を示します。
表C-80 recommendationの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
Float |
リスト内の他の推奨と比較して計算された、この推奨の総合スコア。レシピを構成する個々の類似URNに関連付けられたコンポーネント・スコアの重み付けされた合計で、0から1の浮動小数点数からなります。 |
|
urn:oracle:webcenter:activitygraph:items:item |
推奨されているユーザー、アイテムまたはポータル。 |
|
|
推奨用のレシピ内の各類似URNに関連付けられたコンポーネント・スコアのリスト。コンポーネント・スコアは、理由およびユーザーと推奨オブジェクトがやり取りする共通のアイテムを取得するために使用できるリンクを備えている場合があります。 |
このリソースを使用して、ソース・オブジェクトと推奨オブジェクトの両方に共通するオブジェクトの取得(GET)に使用するURIを識別します。これにより、特定のオブジェクトがなぜ推奨されたのか、その理由を調べることができます。GET操作のレスポンスには、このアイテム・コレクションの各アイテムが含まれ、各アイテムには、そのアイテムの操作に使用した各リンクが含まれます。
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - パラメータ: startIndex、itemsPerPage、utoken。
これらの共通パラメータの詳細は、「共通のリクエスト問合せパラメータ」を参照してください。
次の追加パラメータを使用できます。
similarityURN - オブジェクトが推奨オブジェクトと類似であるか判断するために使用される類似度計算のURN。たとえば、item-tag、gs-edit、user-connectです。
srcClassURN - 推奨を要求するために使用されたオブジェクトのタイプを識別するノード・クラスURN。たとえば、WC.user、WC.group-documentです。
srcObjectURN - 推奨を要求するために使用されたオブジェクトのURN。たとえば、monty、1000です。
trgClassURN - 推奨オブジェクトのタイプを識別するノード・クラスURN。
trgObjectURN - 推奨オブジェクトの一意の識別子を提供するオブジェクトURN。
userCredentialClassURN - ユーザー演習用REST APIのノード・クラスURN。デフォルト値はWC.userです。アクティビティ・グラフ・エンジンを別のアプリケーションに統合する場合、別のノード・クラスへの変更が必要な場合があります。
レスポンス - 本体: 1つ以上のアイテム
詳細は、「テンプレート」を参照してください。
表C-81に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-81 itemsに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:activitygraph:items |
このリソース・タイプを使用して、推奨の更新(PUT)に使用するURIを識別します(推奨オブジェクトにユーザーが興味を持ったことを示すためです)。
この項では、クライアントがハイパーメディアを経由してitemリソースにアクセスする方法を示します。
resourceIndex
recommendations
recommendation
item
resourceIndex
items
item
表C-82に、このリソース・タイプの書込み可能要素を示します。
表C-82 itemの書込み可能要素
| 要素 | タイプ | 必須 | 制約 | 説明 |
|---|---|---|---|---|
status |
String |
はい |
興味がある 興味がない |
ユーザーがオブジェクトに対して興味があるかどうか |
表C-83に、このリソース・タイプの読取り専用要素を示します。これらの要素の中にはオブジェクトで使用できないものもあります。
表C-83 itemの読取り専用要素
| 要素 | タイプ | 説明 |
|---|---|---|
classURN |
String |
オブジェクトのノード・クラス |
objectURN |
String |
オブジェクトの識別子 |
name |
String |
オブジェクト名 |
description |
String |
オブジェクトの説明。 |
modified |
Date |
オブジェクトの最終更新日 |
modifiedByUser |
PersonReference |
オブジェクトを最後に更新したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクが含まれます |
author |
PersonReference |
オブジェクトを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクが含まれます |
表C-84に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-84 itemに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
urn:oracle:webcenter:activitygraph:items:item |
via |
基礎となるオブジェクトの |
WebCenter Portalは、カスタマイズされた検索ユーザー・インタフェースを作成できるようにするREST APIを提供しています。Oracle SES 11.2.2.2では、検索REST APIを使用して検索およびファセットを読取り(GET)できます。ファセットは検索結果とともに返され、結果のフィルタ処理に使用できます。検索のキーワードと範囲を指定できます。たとえば、文字列「webcenter」の検索で何千もの結果が生成されたとします。URLでファセット(作成者または最終変更日付など)を使用し、author=Karenおよびlast-modified-date=this weekのように、特定のファセット値に対する結果を取得できます。
この項には次のトピックが含まれます:
REST APIの概要は、「WebCenter Portal REST APIの概要」を参照してください。
各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。検索のエントリ・ポイントを検索するには、次のresourceTypeを持つリンク要素を検索します。
urn:oracle:webcenter:searchcollection
対応するhrefまたはtemplate要素によって、URIエントリ・ポイントが提供されます。クライアントはこのエントリ・ポイントにHTTPリクエストを送信して、検索を操作します。
関連項目:
リソース索引には次の2つの検索のエントリがあります。
urn:oracle:webcenter:searchcollection (これには、Oracle SES 11.2.2.2で構成されたWebCenter Portalが必要です。)
urn:oracle:webcenter:searchresults (これには、サポートされている任意のバージョンのOracle SESで構成されたWebCenter Portalが必要です。)
この項では、urn:oracle:webcenter:searchcollectionについてのみ説明します。urn:oracle:webcenter:searchresultsの詳細は、次を参照してください。
http://docs.oracle.com/cd/E28280_01/webcenter.1111/e10148/jpsdg_search.htm。
リソース索引の詳細は、「リソース索引の使用」を参照してください。
リソース・タイプの詳細は、「リソース・タイプ」を参照してください。
クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、「リソース・タイプ」の該当の項を参照してください。
検索の分類は次のとおりです。
urn:oracle:webcenter:searchcollection urn:oracle:webcenter:searchcollection:results
サービス・エントリ・ポイントの他、URLテンプレートにより、クライアントは、問合せパラメータを渡してリクエストをカスタマイズしたり戻されたデータのフォームを制御できます。
検索リソース内のコレクション・リソースは、ページ区切り(startIndexおよびitemsPerPage)をサポートします。エントリ・ポイントはsearchcollection要素にすべての結果を返します。dataType引数の適切な値を指定して、様々なコンポーネントを問い合せます。
searchTerms、dataおよび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\*\\\\\\\\*
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex searchcollection
resourceindex
spaces
spaces:resourceindex
spaces:searchcollection
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし、パラメータ: q、dataType、startIndex (ページ区切り)、itemsPerPage (ページ区切り)、data、facetParams
レスポンス - 本体: 検索結果およびオプションでファセット
説明:
q={queryString}
検索は、次の形式を使用して指定できます。
[[field1:[operand]][:]value1[;field2:operand:value2]]
ここでは、複数の句が暗黙のANDによって結合され、セミコロン(;)によって構文的に区切られます。大かっこ[]は、オプションの値を示します。どの句もコロン(:)のセパレータを使用しない単純な文字列のキーワードにできます。
問合せ文字列は問合せキーワード以外はサポートしません。
dataTypeは結果のタイプです
たとえば、結果のみが必要な場合はdataType=results (または空のまま)とします。結果にファセットを含めるには、dataType=results,facetsとします。
dataはカスタム属性のパラメータです
例:
data=numberofreplies,wc_tagsWords
facetParamsはファセット絞込みのパラメータです
デフォルト・セットは、「サービスID」、スコープGUID、「タグ」、「作成者」、「最終更新日」、「MIMEタイプ」です。
たとえば、人で絞り込むには、oracle.webcenter.peopleにのみファセット「サービスID」を次のように設定します。
facetParams=Service%20ID:oracle.webcenter.people
注意:
facetParamsパラメータを使用する場合は、dataTypeパラメータにfacetsを含める必要があります。
例: 検索RESTコマンド
http://examplehost:8888/rest/api/searchcollection?q=document&utoken={utoken}
http://examplehost:8888/rest/api/searchcollection?q={keyword}
&data=dDocName,dOriginalName&dataType=results,facets
&facetParams=Service%20ID:oracle.webcenter.people
詳細は、「テンプレート」を参照してください。
表C-85 resultsの書込み可能要素
| 要素 | タイプ | 説明 |
|---|---|---|
|
String |
resultに書き込んだ任意のユーザー |
|
String |
一意の識別子 |
|
String |
resultのサービスID、oracle.webcenter.doclibなど |
|
String |
resultのタイトル |
|
String |
resultの説明 |
|
Date |
最終更新日 |
|
Number |
resultのサイズ |
|
String |
ドキュメント識別子 |
|
Date |
resultの最初の作成者 |
|
String |
resultタイプのアイコン |
|
String |
resultのURL |
|
String |
resultのMIMEタイプ |
|
String |
resultのGUID値 |
|
String |
ポータルのGUID値 |
|
String |
ポータル名 |
|
String |
resultのタイプ |
|
String |
resultの言語 |
|
String |
resultのスニペット |
|
String |
resultの更新者 |
|
任意 |
データで指定される任意のカスタム属性のリスト |
表C-86に、クライアントがこのリソースからリンクできるリソース・タイプを示します。
表C-86 searchに関連するリソース・タイプ
| rel | リソース・タイプ |
|---|---|
self |
認証は、検索REST APIのメソッドを使用する前に必要です。
一般的なセキュリティに関する考慮事項については、「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。
この項では、各リソース・タイプについて説明します。次のトピックが含まれています:
このリソース・タイプを使用して、キーワードとファセットを含む問合せの読取り(GET)に使用するURIを識別します。
リクエストはURLによって表され、レスポンスは検索結果のリストで、それぞれエンド・ユーザーがドリル・ダウンするアイテムを選択し、使用可能な場合は独自のRESTサービスへのリンクをクロスするうえで役立つメタデータを備えています。独自のRESTサービスが使用できない場合は、HREFリンクが提供されます。
レスポンスXMLでは、標準のURLパラメータと、前および次のリンクを使用してページを区切ることができます。(問合せが移入された)一般的なテンプレートに付属しているこれらのリンクにより、使用アプリケーションは固有のカスタム・ページ区切りを実行できます。
このリソース・タイプを使用して、ファセットを含む問合せの読取り(GET)に使用するURIを識別します。ファセットは問合せ結果とともに返され、結果のフィルタに使用できます。これらのファセットをURLで使用し、author=weblogicおよびlast-modified-date=this weekのように特定のファセット値の結果を取得できます。
リクエストはURLによって表され、レスポンスはファセットのリストで、それぞれエンド・ユーザーがドリル・ダウンするアイテムを選択し、使用可能な場合は独自のRESTサービスへのリンクをクロスするうえで役立つメタデータを備えています。独自のRESTサービスが使用できない場合は、HREFリンクが提供されます。
レスポンスXMLでは、標準のURLパラメータと、前および次のリンクを使用してページを区切ることができます。(問合せが移入された)一般的なテンプレートに付属しているこれらのリンクにより、使用アプリケーションは固有のカスタム・ページ区切りを実行できます。
GUIDは、任意の有効なユーザーGUIDまたは@meのいずれかです。
DATEやBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。DATEデータ型は、Java標準の日付書式、たとえば、2009-08-21T14:43:11.0013-0700を返します。ここで、0700はタイム・ゾーンを表します。
DATEやBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。
self relには現在、urn:oracle:webcenter:people:person:list (正)ではなく、urn:oracle:webcenter:people:person:list:listが含まれます。@connectionsデフォルト・リストの場合、これには現在、urn:oracle:webcenter:people:person:list:connectionsが含まれます。
DATEやBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。
DATEやBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。
DATEやBOOLEANなどのデータ型は、STRINGとしてAPIに格納されます。
必須要素です
必須要素です。
必須要素です。
必須要素です。
必須要素です。
必須要素です。
必須要素です。
必須要素です。
必須要素です。
必須要素です。
必須要素です。