标签: google-drive-picker

是否可以使用存储访问框架实现 Google Drive 文件夹选择器对话框?

我的应用程序要求用户选择一个 Google Drive 文件夹,以便以后可以将文件保存到选定的文件夹中。

到目前为止,它使用 Google Drive Android API 的文件夹选择器 UI,但现在已弃用并关闭。迁移说明建议使用存储访问框架(又名 SAF)来替换以前可用的文件选取器 UI。

问题是,当我尝试使用 ACTION_OPEN_DOCUMENT_TREE 操作启动 SAF UI 时,Google Drive 没有显示。另一个 Stackoverflow 帖子表明SAF不支持选择 Google Drive 文件夹,这很奇怪,因为它是一个非常重要和基本的功能。

有什么方法可以为 Google Drive 实现文件夹选择器 UI,而不必自己从头开始构建它?

 val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
 startActivityForResult(intent, 3);
Run Code Online (Sandbox Code Playgroud)

android google-drive-api storage-access-framework google-drive-android-api google-drive-picker

7
推荐指数
0
解决办法
465
查看次数

默认情况下,Google Drive 中的 .ipynb 文件无法使用 Colaboratory 打开

我的 Google 云端硬盘中有两个扩展名为 .ipynb 的文件,但其中一个被标记为未知文件类型并具有蓝色图标。我该如何将第二个文件更改为 Colaboratory 文件?

在此输入图像描述

google-colaboratory google-drive-picker

6
推荐指数
1
解决办法
2627
查看次数

Google Picker 未按文件扩展名选择

给定 Drive 中带有(任意)扩展名 *.abc 的文件,此代码...

gapi.load("picker", { "callback": function () {
    if (!picker) {
        var view = new google.picker.DocsView(google.picker.ViewId.DOCS);

        view.setMimeTypes("application/vnd.google.drive.ext-type.abc");

        view.setMode(google.picker.DocsViewMode.LIST);
        picker = new google.picker.PickerBuilder();
        picker.setTitle(TEXT.PICKER_PROMPT);
        picker.setAppId(CONST.APP_ID);
        picker.addView(view);
        picker.setOAuthToken(session.OAuthToken.access_token);
        picker.setCallback(pickerCallback);
        picker.setInitialView(view);
    };
    picker.build().setVisible(true);
));
Run Code Online (Sandbox Code Playgroud)

...在驱动器中找不到任何现有的“abc”文件。这些文件是 mime 类型 text/xml,以下行确实可以找到它们:

view.setMimeTypes("text/xml");
Run Code Online (Sandbox Code Playgroud)

为什么按扩展名搜索不起作用?

google-drive-api google-drive-picker

3
推荐指数
1
解决办法
967
查看次数

Google Drive API:下载文件出现lockedDomainCreationFailure 错误

我正在尝试使用 Google Drive 文件选择器下载文件(基于此示例https://gist.github.com/Daniel15/5994054)。文件选择器在下载文件时工作良好。它遇到 400 Bad-Request (lockedDomainCreationFailure) 错误。

这是代码:

function downloadFile(file, callback) {
  if (file.downloadUrl) {
    var accessToken = gapi.auth.getToken().access_token;
    var xhr = new XMLHttpRequest();
    xhr.open('GET', file.downloadUrl);
    xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
    xhr.onload = function() {
      callback(xhr.responseText);
    };
    xhr.onerror = function() {
      callback(null);
    };
    xhr.send();
  } else {
    callback(null);
  }
}
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "lockedDomainCreationFailure",
    "message": "The OAuth token was received in the query string, which this API forbids for response …
Run Code Online (Sandbox Code Playgroud)

javascript google-api oauth-2.0 google-drive-api google-drive-picker

1
推荐指数
1
解决办法
879
查看次数