Google drive api 使用Google Picker访问PHP webapp中的共享Google驱动器
我有一个Google驱动器,其中包含数百个当前被引用的文件,然后在PHP webapp中链接。用户通过webapp而不是Google进行身份验证。我想使用Google Picker并将其指向这个共享但私有的Google Drive,这样用户就可以访问这些文档 我已经看到了很多示例,其中Picker用于访问用户Google驱动器,而不是Picker指向另一个Google驱动器 我正在从Google Documents List API v2迁移,该API v2提供了此功能,但PIcker是更好的解决方案Google drive api 使用Google Picker访问PHP webapp中的共享Google驱动器,google-drive-api,google-picker,Google Drive Api,Google Picker,我有一个Google驱动器,其中包含数百个当前被引用的文件,然后在PHP webapp中链接。用户通过webapp而不是Google进行身份验证。我想使用Google Picker并将其指向这个共享但私有的Google Drive,这样用户就可以访问这些文档 我已经看到了很多示例,其中Picker用于访问用户Google驱动器,而不是Picker指向另一个Google驱动器 我正在从Google Documents List API v2迁移,该API v2提供了此功能,但PIcker是更好的解
有没有办法做到这一点?虽然没有文档记录,但您可以在构建新的选择器时设置Google用户ID
var picker = new google.picker.PickerBuilder().setAuthUser(<userId>)...
var picker=new google.picker.PickerBuilder().setAuthUser()。。。
如果您在此处使用Google Picker,则可以为非共享驱动器设置一个视图,为共享驱动器设置另一个视图,这将在Picker上显示为两个选项卡
谢谢文档中说,对于setAuthUser
,指定电子邮件地址、域名或谷歌个人资料ID以用作经过身份验证的用户。用户必须已经登录到此帐户。
因此用户需要已经有会话才能访问共享驱动器。也许这不是工作。。。
const docsView = new google.picker.DocsView(googleViewId)
.setIncludeFolders(true)
.setSelectFolderEnabled(true);
const folderView = new google.picker.DocsView(googleViewId)
.setIncludeFolders(true)
.setEnableDrives(true)
.setSelectFolderEnabled(true);
const picker = new window.google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.SIMPLE_UPLOAD_ENABLED)
.enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES)
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
.addView(docsView)
.addView(folderView)
.setOAuthToken(oauthToken)
.setDeveloperKey(Config.googlePickerApiKey)
.setCallback((data)=>{
if (data.action === google.picker.Action.PICKED) {
// var fileId = data.docs[0].id;
onSelect(data.docs)
}
});