我正在构建一个 web 应用程序,用户可以在其中通过 OAuth2 进行授权并从他们自己的驱动器中选择/上传文件以供以后使用。本质上,我们只是存储文件 ID 并使用 API 稍后访问它们。当我使用 .setAuthUser() 并要求用户独立于我们的应用程序登录时,一切正常,但是当我们使用 .setOAuthToken() 时,只有文件选择器工作 - DocsUploadView 面板返回“未定义”错误。
这种行为在 Firefox/Chrome/Safari 中是一致的,无论是否有当前用户登录。它总是能够看到文件,永远无法上传它们。我们正在请求完整的驱动器范围,但即使这样我们也看到了错误。
目前我们只是使用 setAuthUser 作为一种解决方法,但这会在用户未登录时导致额外的步骤和一些问题。是否可以将 setOAuthToken 与 DocsUploadView 一起使用?
我正在使用的选择器构建器代码如下所示,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 ]