ファイルやフォルダ (「項目」) へのAPIコールを作成する際に、404 not found (見つかりません) エラーが返されます。
環境
Box Platform - カスタムアプリケーションを通じたBoxへのAPIコール
解決手順
- アクセストークンに関連付けられているユーザーIDを確認します。それには、現在のユーザーの情報を取得します。
- 対象項目へのアクセス権限を現在持っているユーザー (またはユーザーのアクセストークン) から、ファイル、親フォルダ、または当該フォルダ構造の上位にある別のフォルダのコラボレータとしてユーザーを追加します。
根本原因
Boxには、ウォーターフォール設計のコラボレーションに基づくコンテンツアクセス権限モデルがあります。 ユーザーは、招待されたフォルダおよびその下のサブフォルダに対してのみアクセス権を持ちます。 一般には、対象項目へのAPIコールの作成を試みる前に、(ファイルまたはフォルダのコラボレーションを通じて) ユーザーに対象項目へのコラボレーション権限を付与すると適切です。 ユーザーのコラボレーションを一括管理する最も拡張性に優れた方法はグループの使用です。
確認すべきよくある状況:
- 管理者が管理対象ユーザーのコンテンツにアクセスしようとしているが、そのコンテンツへのコラボレーション権限がない。
- サービスアカウント (サーバー認証用)、アプリケーションアクセスアプリが管理対象ユーザーのコンテンツにアクセスしようとしている。 管理対象ユーザーはアプリケーションのApp Userではないため、呼び出しが404を返す。 アプリケーションのサービスアカウントまたはApp User以外が所有するコンテンツへの外部呼出しを作成するには、Enterpriseアクセスが必要である。
- サーバー認証アプリのサービスアカウントがApp Userまたは管理対象ユーザーのコンテンツにアクセスしようとしているが、そのコンテンツへのコラボレーション権限がない。
- App Userまたは管理対象ユーザーが、別のユーザーが所有するコンテンツにアクセスしようとしているが、そのコンテンツへのコラボレーション権限がない。
- Global Content Managerスコープを持つアプリケーションが外部ユーザーが所有する項目への呼び出しを作成しようとしている。GCMスコープはこれを許可しない。