使用Google Picker访问PHP网络应用中的共享Google云端硬盘

时间:2013-09-04 11:57:00

标签: google-drive-api google-picker

我有一个Google云端硬盘,其中包含数百个当前引用的文件,然后在PHP网络应用中进行链接。用户使用webapp进行身份验证,而不是使用Google进行身份验我想使用Google Picker并将其指向此共享但私有的Google云端硬盘,以便用户可以访问这些文档。

我看过很多例子,其中Picker用于访问用户Google云端硬盘,而不是Picker指向其他Google云端硬盘的位置。

我正在从可以使用此功能的Google Documents List API v2迁移,但PIcker是更好的解决方案。

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:1)

如果您从此处https://developers.google.com/picker/docs使用Google Picker,则可以为非共享驱动器设置一个视图,为共享驱动器设置另一个视图,这将在选择器上显示为两个选项卡

enter image description here

     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)
        }
      });

答案 1 :(得分:0)

没有记录,但您可以在构建新的选择器时设置Google用户ID。

var picker = new google.picker.PickerBuilder().setAuthUser(<userId>)...