ユーザーがOAuth2を介して認証し、後で使用するために自分のドライブからファイルを選択/アップロードできるWebアプリを構築しています。基本的に、ファイル ID を保存し、後で API を使用してアクセスするだけです。.setAuthUser() を使用し、ユーザーがアプリとは別にログインする必要がある場合はすべて正常に機能しますが、代わりに .setOAuthToken() を使用すると、ファイル ピッカーのみが機能します — DocsUploadView パネルは「未定義」エラーを返します。
この動作は、現在のユーザー ログインの有無にかかわらず、Firefox/Chrome/Safari 全体で一貫しています。常にファイルを表示できますが、アップロードすることはできません。ドライブ スコープ全体をリクエストしていますが、それでもエラーが発生しています。
今のところ、回避策として setAuthUser を使用していますが、これにより余分な手順が発生し、ユーザーがログインしていないときにいくつかの問題が発生します。DocsUploadView で setOAuthToken を使用することはできますか?
私が使用しているピッカー ビルダー コードは以下のとおりです。ID とトークンは、私が使用しているのと同じ形式ですが、セキュリティのために変更されています。
ありがとう!
var view = new google.picker.View(google.picker.ViewId.DOCS);
var uploadview = new google.picker.DocsUploadView();
var picker = new google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.MINE_ONLY)
.disableFeature(google.picker.Feature.NAV_HIDDEN)
.disableFeature(google.picker.Feature.MULTISELECT_ENABLED)
.setAppId('987654321098')
.setOAuthToken('ya31.AIER6DRhxRgRsT0SoGPoaxPMhDd0n3OHKj43SJaG5kFndZ52')
.addView(uploadview)
.addView(view)
.setCallback(pickerCallback)
.build();
picker.setVisible(true);
[相互投稿: https://groups.google.com/d/topic/google-picker-api/p9whgDscUrQ/discussion ]