REST APIでフォルダーを作成・移動

指定のRESTエンドポイントでフォルダーを作成、名前変更、移動します。名前を保持し、ツリーの競合を避けながら、最終的な親フォルダーを確認します。

最終確認日

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

dosyaにはフォルダーの作成、名前変更、移動用に別々のルートがあります。移動時に最終的な名前への変更も同時に行うことで、移動先で一時的に名前が衝突するのを避けられます。

元のフォルダーの作成、名前変更、移動と名前変更の同時実行、最終的な親フォルダーの下で同じIDを確認する流れを4つのパネルで示しています。
元のフォルダーの作成、名前変更、移動と名前変更の同時実行、最終的な親フォルダーの下で同じIDを確認する流れを4つのパネルで示しています。スクリーンショットを原寸で開く。

権限と名前

RESTを有効にしたフルアクセスの認証情報を使用してください。作成にはロール権限のcreate_folders、名前変更と移動にはrename_folders、一覧による確認にはaccess_filesが必要です。ワークスペースの固定は利用できますが、APIキーのフォルダーアンカーはRESTでは利用できません。

作成するパスは複数のセグメントを含めて500文字までです。名前変更や移動時の名前は単一セグメントで、最大100文字です。

手順

  1. POST /api/foldersで使い捨ての元フォルダーを作成し、返された末端のIDと元のparent_idを保持してください。
  2. PUT /api/folders/:id/renameで{ "name":"Quarterly archive" }を使って名前を変更し、{ "ok":true,"name":"Quarterly archive" }を確認してください。
  3. 元フォルダーのサブツリーの外にあり、最終的な名前の項目がまだ存在しない、表示可能な移動先フォルダーを選択してください。
  4. PUT /api/folders/:id/moveと{ "parent_id":"fld_destination","name":"Published archive" }を使って移動してください。ワークスペースのルートへ移動するにはnullを使用します。
  5. 移動の応答に元の名前ではなく、同時に名前を変更した場合も、その最終的なnameが返されることを確認してください。
  6. 移動先の直下の項目を一覧表示し、フォルダーIDが1件だけ表示され、元の親フォルダーの一覧には含まれなくなったことを確認してください。

対応が必要な拒否

移動先に自分自身を指定するとCannot move a folder into itself、子孫を指定するとCannot move a folder into its own subfolderが返されます。移動先が存在しないか非表示の場合はDestination folder not found、現在のロールに操作権限がない場合はYou don't have permission to move foldersが返されます。

変更のない移動にはFolder is already hereが返されます。移動先で名前が衝突した場合は、HTTP 409とA folder with this name already exists in the target folderが返されます。ロックされたバックアップツリーでは名前変更や移動は拒否されます。呼び出し元が明示的に同意していない限り、これらの応答を受けて別の名前を自動的に付けないでください。

移動と名前変更の確定により共有ツリーが変更され、影響を受ける一覧が無効になります。別の許可された操作で元に戻せますが、クライアントからは新しいパスがすぐに見えます。

期待される結果

フォルダーは同じIDを保持し、移動の応答には最終的な名前が返されます。移動先の一覧には新しい親子関係が表示され、元の場所に重複は残りません。

「REST APIでフォルダーを作成・移動」の参考画面。連携に付与するアクセス権限を選ぶdosyaのAPIキー権限選択画面。
「REST APIでフォルダーを作成・移動」の参考画面。連携に付与するアクセス権限を選ぶdosyaのAPIキー権限選択画面。スクリーンショットを原寸で開く。

関連ガイド

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

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

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

質問と回答

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

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

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

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

    やり直す前に結果を確認

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