1

ユーザーが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 ]

4

2 に答える 2

2

Picker API は現在、OAuth トークンを使用したアップロードをサポートしていません。これを実装するために内部機能リクエストを提出しましたが、当面は回避策に頼る必要があります。

于 2013-01-12T00:08:31.610 に答える
0

これはばかげているように聞こえますが、チェーンの実行順序はどうですか?

.addView(uploadview)
.addView(view)

になる

.addView(view)
.addView(uploadview)

ここで私が提案するもう 1 つのことは、ピッカーで multi_select を有効にすることです。

enableFeature(google.picker.Feature.NAV_HIDDEN)
enableFeature(google.picker.Feature.MULTISELECT_ENABLED)

、これらの機能のいずれかに依存するバグがないことをテストするだけです。

于 2013-01-11T21:27:11.573 に答える