【问题标题】:Using google picker to only display Shared Drives使用谷歌选择器只显示共享驱动器
【发布时间】:2020-08-12 15:14:33
【问题描述】:

现在 Google 选择器正在显示我的所有文件,例如文本文件、图像等,我怎样才能得到它以便它只显示共享驱动器,我假设它必须使用 MimeTypes 参数做一些事情,但我不知道该放什么。大家有什么想法吗?

import React, {Component} from 'react';
import GooglePicker from 'react-google-picker';

const SharedDriveAction = ({SharedDriveAction}) => {
   return (
  <GooglePicker clientId={'*****************'}
          developerKey={'*************'}
          scope={['https://www.googleapis.com/auth/drive.readonly']}
          onChange={data => console.log('on change:', data)}
          onAuthFailed={data => console.log('on auth failed:', data)}
          multiselect={true}
          navHidden={true}
          authImmediate={false}
          mimeTypes={[]}
          viewId={'DOCS'}>
 </GooglePicker>
 );
}
export default SharedDriveAction;

【问题讨论】:

    标签: reactjs google-api google-drive-api google-picker


    【解决方案1】:

    答案:

    您需要创建一个自定义 Picker,并将 setEnableDrives() 设置为 trueFeature.SUPPORT_DRIVES

    自定义构建方法:

    根据React Google Picker npm documentation,您可以构建自定义选择器以包含这些设置:

    <GooglePicker clientId={CLIENT_ID}
                  developerKey={DEVELOPER_KEY}
                  scope={SCOPE}
                  onChange={data => console.log('on change:', data)}
                  onAuthFailed={data => console.log('on auth failed:', data)}
                  multiselect={true}
                  navHidden={true}
                  authImmediate={false}
                  viewId={'FOLDERS'}
                  createPicker={ (google, oauthToken) => {
                    const googleViewId = google.picker.ViewId.FOLDERS;
                    const docsView = new google.picker.DocsView(googleViewId)
                        .setIncludeFolders(true)
                        .setMimeTypes('application/vnd.google-apps.folder')
                        .setSelectFolderEnabled(true)
                        .setEnableDrives(true);
    
                    const picker = new window.google.picker.PickerBuilder()
                        .addView(docsView)
                        .enableFeature(window.google.picker.Feature.SUPPORT_DRIVES)
                        .setOAuthToken(oauthToken)
                        .setDeveloperKey(DEVELOPER_KEY)
                        .setCallback(()=>{
                          console.log('Custom picker is ready!');
                        });
    
                    picker.build().setVisible(true);
                }}
            >
                <span>Click</span>
                <div className="google"></div>
            </GooglePicker>
    

    参考资料:

    相关问题:

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2016-04-03
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 2015-05-30
      • 1970-01-01
      相关资源
      最近更新 更多