Web アプリで Google ピッカーを使用して、ユーザーが Google ドライブからファイルを参照して選択できるようにしています。選択を行うと、ピッカーは、ファイル ID や URL など、選択したファイルに関するさまざまなデータを返します。私の目標は、選択したファイルをサーバーにダウンロードすることです。URL をバックエンド スクリプトに渡すと、非公開のファイルをダウンロードできなくなります。提供されたファイル ID を使用して Drive API 経由でファイルにアクセスできることはわかっていますが、そのためにはアクセス トークンが必要なので、oauth フローを使用してアクセス許可を付与するようユーザーに依頼する必要があります。私はそれをしたくありません。ユーザーが Google ピッカーを使用してファイルを選択した場合、ユーザーは暗黙的にファイルへのアクセス許可をアプリに与えています。トークンなしでアクセスできる公開ダウンロード URL を取得できないのはなぜですか? それが Dropbox セレクターの仕組みだと私は信じています。
ここで何かが欠けていますか? oauth 認証を使用せずに、私がやろうとしていることを達成する方法はありますか? だから、基本的に私が必要とするのはこれです:
- ユーザーがピッカーを使用してファイルを選択する
- ピッカーは公開ダウンロード URL を提供します (一時的な URL は問題ありません)
- その URL をバックエンド スクリプトに渡すと、ファイルがダウンロードされます
または、次のようなソリューションを使用することもできます。
- ユーザーがピッカーを使用してファイルを選択する
- ピッカーはファイル IDとoauth アクセス トークンを提供します
- ファイル ID とトークンをバックエンド スクリプトに渡します。バックエンド スクリプトは、提供されたアクセス トークンを使用して Google ドライブ API にアクセスし、ファイルをダウンロードできます。