フォルダーをお気に入りに追加

現在のウェブ版とモバイル版ではファイルをお気に入りに追加できますが、フォルダー用の操作はありません。dosyaのREST APIでフォルダーのショートカットを追加します。

最終確認日

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

現在のデータモデルは個人用のフォルダーのお気に入りに対応していますが、確認したウェブ版とモバイル版のファイルメニューには、フォルダー用のお気に入りに追加操作がありません。画面だけで操作するには個人用グループを使ってください。上級ユーザーはREST APIでフォルダーのポインターを作成できます。

フォルダーのお気に入りは既存のフォルダーを参照します。内容のコピー、親フォルダーの変更、追加のストレージ消費、他の人へのアクセス権の付与は行いません。

ワークスペースとフォルダーの識別子から個人用ポインターを作成し、モバイルの一覧またはAPIレスポンスで確認するRESTの手順図。
フルスコープでワークスペースに固定されたAPI認証情報を使ってフォルダーのポインターを1件作成し、フォルダーの階層を変更せずに読み戻します。スクリーンショットを原寸で開く。

始める前に

  • クライアントだけで使うショートカットが必要な場合はグループに追加を使ってください。ブラウザとモバイルのファイルメニューではフォルダーをグループに追加できます。
  • POSTルートにはワークスペースIDと有効なフォルダーIDを取得してください。fullスコープとAPIアクセスがあり、同じワークスペースに固定されたBearer APIキーを使います。制限されたread、upload、clipper、wp_siteスコープではこのPOSTを実行できません。
  • キーのオーナーはフォルダーに制限されていないワークスペースメンバーである必要があります。POSTはメンバーシップ、対象の可視性、対象を囲む完全ロックの連鎖を確認しますが、ロールのファイルページ権限は必要ありません。
  • 結果の読み取りはより厳格です。GET /api/favouritesは制限されたメンバーを拒否し、ファイルページへのアクセス権を確認してから、表示可能でロックされていない行を返します。
  • 認証情報をターミナルの履歴、スクリーンショット、サポートへのメッセージに残さないでください。

手順

  1. シークレットを保護された環境変数に入れ、実際の識別子を使って次のリクエストを送信してください。

    curl --fail-with-body --request POST "https://api.dosya.dev/api/favourites" \
      -H "Authorization: Bearer $DOSYA_API_KEY" \
      -H "Content-Type: application/json" \
      --data '{"workspace_id":"ws_...","folder_id":"fld_..."}'
  2. 初回の追加に成功すると、HTTP 201と、ok: trueおよび新しいお気に入り行のIDを含むオブジェクトが返されます。

  3. GET /api/favourites?workspace_id=ws_…で確認してください。ロールにファイルページへのアクセス権があれば、folders配列に一致するオブジェクトが実際のfolder_id、folder_name、親ID、作成日時とともに表示されます。

  4. モバイルでは、設定 → お気に入りにこのAPIが返すフォルダー行を表示できます。ブラウザのサイドバーは現在レスポンスのfiles配列だけを読むため、フォルダー項目は表示されません。

  5. モバイルまたは通常のファイルのパスからフォルダーを開き、元のパンくずリストと内容を確認してください。

同じアカウントとフォルダーに2回目のPOSTを送ると、HTTP 409と「Already in favourites.」が返されます。存在しない対象や非表示の対象には「Folder not found.」が返されます。上位の完全ロックがある場合は「folder_locked」、別のワークスペースに固定された認証情報には「This API key is pinned to a different workspace.」が返されます。

フォルダーのお気に入り操作が画面にない場合に使える、グループへの追加操作を示す画面。
普段の移動には、個人用グループを使うと現在の画面上でフォルダーのショートカットを利用できます。スクリーンショットを原寸で開く。

結果の確認

サーバーにフォルダーの個人用お気に入り行が1件保存され、元のフォルダーは内容と権限を変えずに元の場所に残ります。GETのメンバーシップとファイルページへのアクセス確認を通過した呼び出し元はその行を読み取れます。モバイルでは返された行を表示できますが、現在のブラウザのサイドバーには表示されません。

削除は元に戻すことができ、ポインターだけに影響します。同じworkspace_idとfolder_idでDELETE /api/favouritesを呼び出してください。復元が必要な場合は再度POSTしてください。

トラブルシューティング

ファイル画面にフォルダー用の星がありません。 現在のクライアントでは正常な動作です。グループに追加を選ぶか、上記のRESTリクエストを使ってください。

フォルダーに到達する前にPOSTが拒否されます。 BearerキーにfullスコープとAPIへのアクセス権があるか確認してください。GET以外のREST操作は、ルートに明示的なより狭い指定がなければフルスコープが既定です。お気に入りのPOSTにはその指定がありません。

GETで「Not a member」またはファイルへのアクセス拒否が返されます。 ワークスペースID、キーの固定先、有効なメンバーシップ、フォルダー制限がないこと、ロールのファイルページ権限を確認してください。このGETのルールによって、成功済みのPOSTポインターが遡って無効になることはありません。

重複が報告されます。 再試行せず、既存のお気に入り行を読み取ってください。サーバーはユーザーとフォルダーの組み合わせごとにポインターを1件に制限します。

関連ガイド

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

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

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

質問と回答

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

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

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

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

    やり直す前に結果を確認

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