Google drive api 使用Google Picker访问PHP webapp中的共享Google驱动器

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驱动器,其中包含数百个当前被引用的文件,然后在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)
        }
      });