Использование Google Picker для доступа к общему Google Диску в веб-приложении PHP

У меня есть Google Диск, который содержит сотни файлов, на которые в настоящее время ссылаются и которые затем связаны в веб-приложении PHP. Пользователи проходят аутентификацию в веб-приложении, а не в Google. Я хочу использовать Google Picker и указать его на этот общий, но частный Google Диск, чтобы пользователи могли получить доступ к этим документам.

Я видел множество примеров, когда Picker используется для доступа к Google Drive пользователей, но не там, где Picker указывает на другой Google Drive.

Я перехожу с Google Documents List API v2, где эта функция доступна, но PIcker - гораздо лучшее решение.

Есть ли способ добиться этого?


person Jon Mears    schedule 04.09.2013    source источник


Ответы (2)


Если вы используете Google Picker отсюда, https://developers.google.com/picker/docs затем вы можете установить одно представление для общих дисков, а другое - для общих дисков, это будет отображаться в виде двух вкладок в средстве выбора

введите здесь описание изображения

     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)
        }
      });
person Max Carroll    schedule 10.04.2020

Это не задокументировано, но вы можете установить идентификатор пользователя Google при создании нового сборщика.

var picker = new google.picker.PickerBuilder().setAuthUser(<userId>)...
person Burcu Dogan    schedule 04.09.2013
comment
Спасибо. Документы говорят о setAuthUser Specify an email address, domain name, or a Google profile ID to use as the authenticated user. The user must already be logged into this account.. Таким образом, пользователю потребуется уже иметь сеанс для доступа к общему диску. Может, это не работа ... - person Jon Mears; 05.09.2013