添付付き記事の作成
コンテンツをインポートしようとしている開発者として、ファイルが添付されている記事をインポートする必要がある場合があります。 「コンテンツ」 RESTリソースの「コンテンツの作成」メソッドを使用して、複数の添付を含む記事をインポートできます。
たとえば、Jenがサービス組織の開発者で、Oracle Knowledgeに複数のナレッジ記事をインポートする必要があるとします。 Jenが添付付きおよび添付なしのコンテンツ・タイプのFAQの記事をインポートする方法を確認します。
添付なしのFAQの作成
Jenは、コンテンツ・リソースに対してPOST操作を実行してFAQをインポートします。
URLの例
FAQの作成には、次のcURLコマンドが使用されます:
curl -X POST https://<IM_REST_API_HOST>/km/api/latest/content" \
-u "<username:password>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d "@<FilePath/RequestBody.json>"
リクエスト本文の例
次に、JSON形式のリクエスト本文の例を示します。
{
"locale":{ "recordId":"en_US" },
"contentType":{ "recordId":"98055D055BA8467B8097FB0B52923FD2", "referenceKey":"FAQ", "name":"FAQ" },
"xml":"<FAQ><SUMMARY><![CDATA[This is the title of my article]]></SUMMARY><ANSWER><![CDATA[This is the body of my article.]]></ANSWER></FAQ>",
"isForEdit":true
}
この例は、記事の作成に必要な最小ペイロードを示しています。 詳細は、コンテンツの作成タスクを参照してください。
添付なしで記事を作成する場合、次の点に注意してください:
- このリクエストのコンテンツ・タイプはapplication/jsonです
- リクエスト本文はjsonです
- xmlにKM_ATTACHMENTS_ATTR要素がありません
添付付きFAQの作成
Jenは、コンテンツ・リソースに対してPOST操作を実行することで、添付付きFAQをインポートできます。
前提条件
Jenが添付付き記事を作成する前に、FAQコンテンツ・タイプが添付を受け入れるように構成されていることを確認する必要があります。
添付を受け入れるようにコンテンツ・タイプを構成するには:
- 「設定および保守」に移動し、「サービス」オファリングから「ナレッジ管理」を選択します。
- 「ナレッジ・コンテンツ・タイプの管理」をクリックします。
- 「コンテンツ・タイプの管理」ページで、構成するコンテンツ・タイプを選択します。 たとえば、FAQです。
- 「次へ」をクリックして、コンテンツ・スキーマを構成します。
- 「添付ファイル」で、「添付ファイルの有効化」チェック・ボックスを選択し、構成を保存します。
URLの例
次のcURLコマンドを使用して、添付付きのFAQを作成します:
curl -X POST https://<IM_REST_API_HOST>/km/api/latest/content" \
-u "<username:password>" \
-H "Accept: application/json" \
-H "Content-Type: multipart/form-data" \
-d "@<FilePath/RequestBody.json>"
記事のjsonと添付するファイルを同じPOSTリクエストに入れることができるように、マルチパート・フォームが使用されることに注意してください。
リクエスト本文の例
リクエスト本文の例を次に示します:
--form 'contentBO="{
\"locale\":{ \"recordId\":\"en_US\" },
\"contentType\": { \"recordId\":\"98055D055BA8467B8097FB0B52923FD2\", \"referenceKey\":\"FAQ\", \"name\":\"FAQ\" },
\"xml\":\"<FAQ><SUMMARY><![CDATA[This is the title of my article]]></SUMMARY><ANSWER><![CDATA[This is the body of my article.]]></ANSWER><KM_ATTACHMENTS_ATTR><FILE><TITLE>File 1</TITLE><DESCRIPTION>First upload file</DESCRIPTION><FILENAME><![CDATA[file1.txt]]></FILENAME></FILE></KM_ATTACHMENTS_ATTR><KM_ATTACHMENTS_ATTR><FILE><TITLE>File 2</TITLE><DESCRIPTION>Second upload file</DESCRIPTION><FILENAME><![CDATA[file2.txt]]></FILENAME></FILE></KM_ATTACHMENTS_ATTR></FAQ>\",
\"isForEdit\":true
}";type=application/json' \
--form 'filesToUpload=@"file1.txt"' \
--form 'filesToUpload=@"file2.txt"'