この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

入力およびバイナリファイルのアップロードの例

入力を使用して HTTP POST、PATCH、PUT 要求を実行し、バイナリファイルのアップロードについて詳しく説明します。

入力での POST、PATCH、または PUT の使用

HTTP POST、PATCH、および PUT メソッドを使用して要求を行うとき、要求パラメーターまたはリクエストボディを使用できます。リクエストボディには、JSON または XML を含めることができます。リソース固有の要求パラメーターとリクエストボディを渡すと、要求パラメーターが無視されます。リソースに固有でない要求パラメーター (ベアラートークン URL 内のパラメーターや _HttpMethod パラメーターなど) はリクエストボディと共に処理されます。ベアラートークンパラメーターはそのまま使用します。パラメーターの追加や削除はしないでください。

要求パラメーターを使用して要求を送信するには、値 application/x-www-form-urlencoded を指定した Content-Type ヘッダー項目を使用します。

リクエストボディを使用して要求を送信するには、Content-Type ヘッダー項目と Accept ヘッダー項目に次のいずれかの値を使用します。

  • application/json
  • application/xml

バイナリファイルのアップロード

バイナリファイルは、2 GB (ヘッダーを含む) までアップロード可能で、外部リポジトリの場合は 75 MB までアップロード可能、会話を一括でアップロードする場合は 512 MB まで可能です。その際は、バイナリファイルをマルチパート/フォームデータ要求のボディパートとして送信します。コメントのテキストは、同じマルチパート/フォームデータ要求の JSON または XML リッチ入力ボディパートとして送信できます (ただし、投稿のテキストは送信できません)。または、その情報を要求パラメーターで送信するように選択することもできます。リッチ入力リクエストボディと要求パラメーターの両方を渡すと、要求パラメーターは無視されます。

同じコールで複数のバイナリファイルをアップロードするには、「Batch リソース」を参照してください。

バージョン 36.0 以降では、フィード投稿の作成とバイナリファイルのアップロードを同じ要求で行うことはできません。最初にファイルを Salesforce にアップロードしてから、ファイル ID を使用して 1 つ以上のファイルをフィード投稿に添付します。

重要

マルチパート/フォームデータ要求を作成するには、要求のヘッダーで Content-Type HTTP ヘッダーを multipart/form-data に設定します。

HTTP ヘッダーについての詳細は、W3C フォームコンテンツタイプと、マルチパート/フォームデータインターネットメディアタイプが定義されている「RFC 2388」を参照してください。

次の表では、マルチパート/フォームデータ要求のリッチ入力ボディパートに必要な HTTP ヘッダーとパラメーターを説明します。

リッチ入力ボディパートの HTTP ヘッダー ヘッダー値とパラメーター 説明
Content-Disposition form-data; name="json"

form-data; name="xml"

投稿またはコメントのリクエストボディ。

JSON の場合は、name の値に "json" を使用します。

XML の場合は、name の値に "xml" を使用します。

Content-Type application/json; charset=UTF-8

application/xml; charset=UTF-8

リクエストボディのデータ形式と文字セット。

JSON の場合、値は application/json にする���要があります。

XML の場合、値は application/xml にする必要があります。

Web ブラウザーは通常、非バイナリパート (リッチ入力ボディなど) に独自の Content-Type があると、マルチパートの要求を実行することができません。この問題を回避するには、特定の Content-Disposition name を指定して、Salesforce がリッチ入力パートの Content-Type を読み取れるようにします (リッチ入力ボディに Content-Type を指定する必要はありません)。

ヒント

次の表では、Web ブラウザーからのマルチパート/フォームデータ要求のリッチ入力ボディパートに必要な HTTP ヘッダーとパラメーターについて説明します。

Web ブラウザーからのリッチ入力ボディパートの HTTP ヘッダー ヘッダー値とパラメーター 説明
Content-Disposition form-data; name="feedElement" バイナリファイルを含むフィード要素を投稿するには、name の値を "feedElement" にする必要があります (バージョン 35.0 以前の場合)。
form-data; name="comment" バイナリファイルを含むコメントを投稿するには、name の値を "comment" にする必要があります。
form-data; name="photo" 従業員、ユーザー、またはグループの写真をアップロードするには、name の値を "photo" にする必要があります。
form-data; name="file" [ファイル] ホームまたは外部リポジトリにファイルをアップロードするには、name の値を "file" にする必要があります。
form-data; name="folderItem" ファイルをフォルダーにアップロードするには、name の値を "folderItem" にする必要があります。
form-data; name="ManagedContentInputParam" 管理コンテンツの一部をアップロードするには、name の値を "ManagedContentInputParam" にする必要があります。
form-data; name="ManagedContentVariantInputParam" 管理コンテンツのバリエーションを更新するには、name の値を "ManagedContentVariantInputParam" にする必要があります。

次の表では、マルチパート/フォームデータ要求のバイナリアップロードボディパートに必要な HTTP ヘッダーとパラメーターを説明します。

バイナリアップロードボディパートの HTTP ヘッダー ヘッダー値とパラメーター 説明
Content-Disposition form-data; name="feedElementFileUpload"; filename=string バイナリファイルを含むフィード要素を投稿するには、name の値を "feedElementFileUpload" にする必要があります (バージョン 35.0 以前の場合)。

バイナリファイルを含むコメントを投稿するには、name の値を "feedElementFileUpload" にする必要があります。

form-data; name="fileUpload" filename=string ユーザーまたはグループの写真をアップロードするには、name の値を "fileUpload" にする必要があります。
form-data; name="fileData" filename=string [ファイル] ホームにファイルをアップロードする、または外部リポジトリにファイルをアップロードするには、name の値を "fileData" にする必要があります。

filename パラメーターと値を指定します。ただし、Salesforce は、filename パラメーターの値ではなく、File Inputtitle プロパティの値または Files Connect Item Input のメタデータの値をファイル名として使用します。

メモ

form-data; name="audioFileData" filename=string オーディオファイルをアップロードするには、name の値を "audioFileData" にする必要があります。この値を使用する場合は、recordingURL または name を指定すると要求が失敗しますので指定しないでください。
form-data; name="contentData" filename=string 管理コンテンツの一部をアップロードまたは管理コンテンツのバリエーションを更新するには、name の値を "contentData" にする必要があります。
Content-Type application/octet-stream; charset=ISO-8859-1 バイナリファイルのメディアタイプと文字セット。

空白と改行 (CRLF) は重要です。たとえば、次の行では空白が必要です: Content-Disposition: form-data; name="feedItemFileUpload"; title="2012_q1_review.ppt"。空白ではなく CRLF を使用すると、エラーが返されます。

メモ

バイナリファイルを含むフィード要素の投稿 (バージョン 35.0 以前)

次の例では、/chatter/feed-elements リソースを使用して新しいフィード項目 (フィード要素の種類の 1 つ) を投稿し、バイナリファイルをアップロードして新しいフィード項目に添付します。次の例では cURL を使用します。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。

バイナリファイルを含むフィード要素の一括投稿 (バージョン 35.0 以前)

次の例では、/chatter/feed-elements/batch リソースを使用してフィード要素を一括投稿し、2 つのバイナリファイルをアップロードして、バッチ内のフィード要素に添付します���リクエストボディにバイナリパートに関する情報を含めます。次の例では cURL を使用します。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。

binaryPartNames プロパティ内のバイナリパート名は、バイナリリクエストパートの name プロパティ内のバイナリパート名と一致する必要があります。

メモ

バイナリファイルを含むコメントの投稿

次の例では /chatter/feed-elements/feedElementId/capabilities/comments/items リソースを使用して、cURL を使用してフィード項目にコメントを投稿し、バイナリ添付ファイルをアップロードします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。

バイナリファイルを含む複数のコメントの投稿

この例は、2 つのサブ要求が含まれる /connect/batch への汎用バッチ要求です。各サブ要求はフィード項目にコメントし、バイナリファイルをコメントにアップロードします。

richInput プロパティには、各サブ要求のリクエストボディを含めます。

また、binaryPartName および binaryPartNameAlias プロパティには、バイナリパートに関する情報を含めます。

次に cURL の例を示します。
次は、マルチパート/フォームデータリクエストボディです。

ユーザーの写真のアップロードおよびトリミング

次の例では /connect/user-profiles/userId/photo リソースを使用して、cURL を使用してユーザープロファイルの写真をアップロードし、トリミングします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。

[ファイル] ホームへのファイルのアップロード

次の例では /connect/files/users/userId リソースを使用して、cURL を使用してファイルを [ファイル] ホームにアップロードします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。

外部リポジトリへのファイルのアップロード

次の例では /connect/content-hub/repositories/repositoryId/folders/repositoryFolderId/items リソースを使用して、cURL を使用してファイルを外部リポジトリにアップロードします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。

オーディオファイルのアップロード

次の例では /voicecalls/voiceCallId/audio_upload リソースを使用して、cURL を使用してオーディオファイルをアップロードします。

サードパーティベンダーからのオーディオファイルのアップロード

次の例では /voicecalls/voiceCallId/audio_upload リソースを使用して、cURL を使用してオーディオファイルをアップロードします。

管理コンテンツの一部のアップロード

この例では、/connect/cms/contents リソースを使用して、管理コンテンツの一部をアップロードします。このリソースは、拡張 CMS ワークスペースでのみ入手可能です。

管理コンテンツバリエーションを更新する

この例では、/connect/cms/contents/variants/variantId リソースを使用して、管理コンテンツのバリエーションを更新します。このリソースは、拡張 CMS ワークスペースでのみ入手可能です。