まずは、ファイルの情報を取得してみます。
Postmanにもありますね。
ファイルのIdを確認します。
Salesforceでファイルを選んで開きます。
さらに詳細を開くとやっとIdを確認できます。069ではじまるのでContentDocumentオブジェクトですね。
Postmanで確認してみましょう。無事取得できました。
ファイル自体ではなくContentDocumentの他の項目の更新
なかなかうまくいかなくて、3時間程悩みました。最終的にはブラウザのキャシュが悪さしていたのかもしれません。すぱっと諦めて作ったメッソドを削除して再作成したら動きました。
PATCHのメソッドが無かったんですよね。
{{_endpoint}}/services/data/v{{version}}/connect/files/:FILE_ID?title=A+New+Title
新規のファイルをアップロードする
既存のファイルの新しいバージョンをアップロードするには、POST 要求を実行します。新しいバージョンを、マルチパート/フォームデータ要求のバイナリパートとしてアップロードします。「バイナリファイルのアップロード」を参照してください。新しいファイルを [ファイル] ホームにアップロードするには、/connect/files/users/me を使用します。
Postmanには {{_endpoint}}/services/data/v{{version}}/connect/files/users/me というメッソドが既にありました。
このUIから考えると、ここでファイルをアップロードできそうですね。他の項目も設定してみましょう
こんな感じ
成功した感じです
登録できています
既存のファイルの新しいバージョンをアップロード
既存のファイルの新しいバージョンをアップロードするには、POST 要求を実行します。新しいバージョンを、マルチパート/フォームデータ要求のバイナリパートとしてアップロードします。「バイナリファイルのアップロード」を参照してください。
やり方がわからないな
資料
ファイルを使用している場合は、Salesforce コンテンツを使用しています。実際、Chatter ファイルを追加すると、プラットフォームは、Chatter 投稿に加えて、それらのオブジェクトを直接使用している場合と同じように、ContentDocument/ContentVersion/ContentDocumentLink を生成します。
モデルは複雑に聞こえますが、REST API を使用してファイルを挿入するのは比較的簡単です。
ContentDocumentId フィールドが null の ContentVersion レコードを挿入すると、ContentDocument が自動的に作成されます。
ContentVersion を挿入するときに、ファイルを関連付けるレコードの ID を FirstPublishLocationId フィールドに入力すると、プラットフォームによって ContentDocumentLink レコードも作成されます。1 回の呼び出しでファイルを挿入して関連付けることができます。
ファイルが 37.5 MB より大きい場合は、ファイル データをマルチパート メッセージで送信する必要があります。この方法で、最大 2 GB のファイルをアップロードできます。
これに関する詳細は、以下をご覧ください。