REST APIでファイル名を変更する

ファイル名を正確に検証してIDで名前を変更し、親と識別情報を維持しながら、ロック、権限、同じフォルダー内の競合に安全に対処します。

最終確認日

スクリーンショットは英語版の画面です。

PUT /api/files/:id/renameはファイルID、親、バージョン履歴を維持したまま保存名を変更します。拡張子はnameの一部です。変更するとクライアントによるファイルの分類やプレビューが変わる場合があります。

現在のファイルの読み取り、検証済みの名前を含む本文の作成、名前変更の受領情報の解釈、同じIDと親の再読み取りを4つのパネルで示しています。
現在のファイルの読み取り、検証済みの名前を含む本文の作成、名前変更の受領情報の解釈、同じIDと親の再読み取りを図で示しています。 スクリーンショットを原寸大で開く。

始める前に

  • フルアクセスのAPIキーとrename_filesを持つワークスペースのロールを使用してください。
  • 現在のファイルを読み取り、ID、親、ロック状態、現在の名前を確認してください。
  • 前後の空白を除いて1〜255文字の名前を選んでください。/、\、C0制御文字を含めることや、.または..だけで構成することはできません。

手順

  1. GET /api/files/file_idを送信して親IDを保持してください。拡張子が重要な場合は、新しい名前に必要な拡張子を明示します。
  2. 正確なJSON本文を作成してください。例:{"name":"Q4 forecast.pdf"}。引用符と山括弧は使用できますが、クライアントでJSONを正しくエスケープする必要があります。
  3. PUT /api/files/file_id/renameをBearer認証とContent-Type: application/jsonとともに送信してください。この呼び出しは無関係なバッチ処理と分けます。
  4. HTTP 200と{ "ok": true, "name": "Q4 forecast.pdf" }を確認してください。400は入力が無効、403はスコープ、ロール、ロックによる拒否、404は利用不可、409は同じ親の項目との名前の競合を示します。
  5. 同じファイルIDを再度読み取り、親IDが変わらずnameが変わったことを確認してください。返されたX-D1-BookmarkはD1を使う確認に引き継ぎますが、ワークスペースオブジェクトの内容の順序を保証するものではありません。
  6. 拡張子を変更した場合は、名前を変更したファイルを開くかダウンロードしてください。バイトが変わっていなくても、自動処理が誤って拡張子を変更したことを検出できます。
APIとSDKへのリンクがあるdosyaの開発者向け概要画面です。
開発者向け概要画面には、このガイドで参照するAPIとSDKへのリンクがあります。 スクリーンショットを原寸大で開く。

期待される結果

成功時の受領情報には正規化された名前が返ります。新たにメタデータを読み取ると、同じファイルIDと親に新しい名前が表示されます。バージョンはそのIDに紐付いたままです。

トラブルシューティング

400が返る場合 値の前後の空白を除き、長さ、スラッシュ、バックスラッシュ、制御文字、.、..のルールを確認してください。

409が返る場合 同じ親の項目が既に指定した名前を使用しています。別の名前を選ぶか、その項目との競合を解消してから新しいリクエストを送信してください。

403が返る場合 キーのフルスコープ、rename_files、呼び出し元に対してファイルがロックされていないことを確認してください。

関連ガイド

この記事は役に立ちましたか?

評価の結果を読み込んでいます…

投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。

質問と回答

このガイドの手順について質問できます。質問は確認後に公開されます。

公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。

質問を読み込んでいます…

    dosyaアカウントにサインインすると、質問を投稿できます。

    やり直す前に結果を確認

    操作をもう一度確認する必要があるときは、次の共通の確認事項をご利用ください。