この文章は 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 のバイナリファイルをアップロードするには、マルチパート/フォームデータ要求のボディパートとしてバイナリファイルを送信します。コメントのテキストは、同じマルチパート/フォームデータ要求の JSON または XML リッチ入力ボディパートとして送信できます (ただし、投稿のテキストは送信できません)。または、その情報を要求パラメータで送信するように選択することもできます。リッチ入力リクエストボディと要求パラメータの両��を渡すと、要求パラメータは無視されます。

バージョン 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"

form-data; name="comment"

form-data; name="photo"

form-data; name="file"

バイナリファイルを含むフィード要素を投稿するには、name の値を "feedElement" にする必要があります (バージョン 35.0 以前の場合)。

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

ユーザまたはグループの写真をアップロードするには、name の値を "photo" にする必要があります。

[ファイル] ホームまたは外部リポジトリにファイルをアップロードするには、name の値を "file" にする必要があります。

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

バイナリアップロードボディパートの HTTP ヘッダー ヘッダー値とパラメータ 説明
Content-Disposition form-data; name="feedElementFileUpload"; filename=string

form-data; name=name="feedElementFileUpload"; filename=string

form-data; name="fileUpload" filename=string

form-data; name="fileData" filename=string

バイナリファイルを含むフィード要素を投稿するには、name の値を "feedElementFileUpload" にする必要があります (バージョン 35.0 以前の場合)。

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

ユーザまたはグループの写真をアップロードするには、name の値を "fileUpload" にする必要があります。

[ファイル] ホームにファイルをアップロードする、または外部リポジトリにファイルをアップロードするには、name の値を "fileData" にする必要があります。

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

メモ

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 プロパティ内のバイナリパート名と一致する必要があります。

メモ

バイナリファイルを含むコメントの投稿
次の例では、cURL を使用してフィード項目にコメントを投稿し、バイナリ添付ファイルをアップロードします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。
バイナリファイルを含む複数のコメントの投稿
この例は、2 つのサブ要求が含まれる https://instance_name/services/data/v48.0/connect/batch への汎用バッチ要求です。各サブ要求はフィード項目にコメントし、バイナリファイルをコメントにアップロードします。
richInput プロパティには、各サブ要求のリクエストボディを含めます。
また、binaryPartName および binaryPartNameAlias プロパティには、バイナリパートに関する情報を含めます。
次に cURL の例を示します。
次は、マルチパート/フォームデータリクエストボディです。
ユーザの写真のアップロードおよびトリミング
次の例では、cURL を使用してユーザプロファイルの写真をアップロードし、トリミングします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。
[ファイル] ホームへのファイルのアップロード
次の例では、cURL を使用してファイルを [ファイル] ホームにアップロードします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。
外部リポジトリへのファイルのアップロード
次の例では、cURL を使用してファイルを外部リポジトリにアップロードします。
以下に、上記の例を、リクエストボディパートが確認できる形式に変えた例を示します。