Google ドライブ SDK で奇妙な問題が発生しています。これが設計された動作なのか、スコープのバグなのかわかりません。
簡単な背景: 「drive.files」スコープを使用してアプリケーションを開発しており (たとえば、アプリによって作成されたファイル/フォルダーのみ)、アプリによって作成されたすべてのフォルダーを一覧表示したいと考えています。そのため、drive.files.list メソッド呼び出し (Javascript クライアント API を使用) を使用し、ドライブ フォルダーの mimeType をクエリします。
mimeType = 'application/vnd.google-apps.folder'
問題: 返されるのは、アプリによって作成されたものだけでなく、ユーザーのドライブ アカウント内のすべてのフォルダーのリストです。
これは露骨なスコープ違反ではないでしょうか? 私が知る限り、ドキュメントには、検索クエリから返される範囲外のファイルが表示されるかどうかが示されていません。
この動作は、Google API エクスプローラーを使用して繰り返すことができます。
- Google API Explorer を開きます: Google API Explorer: drive.files.list with empty query
- drive.file 認可のみを使用して、OAuth 認可を ON にします。
- 空のクエリで「実行」をクリックします。結果リストは空でなければなりません。
ここで、フォルダ クエリを「q」パラメータ ボックスに入力します。
mimeType = 'アプリケーション/vnd.google-apps.folder'
「実行」をクリックします。結果リストには、API Explorer アプリによって作成されていない、ユーザーのドライブ アカウント内のフォルダが表示されます。
ここで何か不足していますか?これは予想される動作ですか?もしそうなら、アプリによってのみ作成されたフォルダのリストを取得するより良い方法はありますか?