google-drive-api 相关问题

通过Google Drive API,Google Drive SDK或Google Apps脚本,以编程方式与Google云存储服务集成或与Google云端硬盘文件交互相关的问题。有关Web应用程序的使用问题应在Web Applications Stack Exchange上发布。

如何连接 Google Drive API 以访问我的云端硬盘中的文件

我在网上查过很多地方,但还没有找到简单地访问我自己的谷歌驱动器的方法。我想要访问一个文件夹(其中有 CRUD 权限),而其他文件夹...

回答 1 投票 0

如何通过powershell下载公共谷歌驱动器文件并执行它们?

DNS Filter 是一个公开可用的工具,下面的脚本链接到所述 .msi 文件的实际下载。 #DNS过滤变量 # $dnspath = "C:\Program Files\dnsfilter.msi"; # $dnsurl = &...

回答 1 投票 0

Drive.Permissions.insert 失败并显示不完整的错误消息

这是我第一次尝试使用 Google API,我在抑制电子邮件通知方面遇到了一些问题 我有以下代码,在执行时收到以下错误消息...

回答 1 投票 0

当我尝试将文件上传到 Google 云端硬盘时,我不断收到“MediaFileUpload”对象没有属性“_fd”错误

我一直在关注本教程来学习如何使用 Python 使用 Google Drive API。我已经能够创建文件夹并列出驱动器中的文件夹,但是当我尝试按照教程进行操作时

回答 1 投票 0

Google Drive 桌面应用程序在“我的云端硬盘”文件夹中显示的类似文件的内容是什么?

我有一个类似于云存储的Django项目,我们为其制作了一个桌面应用程序。我们的桌面应用程序运行良好,但它从云存储下载文件以在应用程序中显示它们。 ...

回答 1 投票 0

显示 Google 云端硬盘文件夹中的图像

我试图找到一个关于如何在网页上使用JS从特定Google Drive文件夹中调用可渲染图像链接列表的示例。这是为了创建数字标牌幻灯片......

回答 2 投票 0

如何在我的网络应用程序中流式传输经过身份验证的用户存储在 xer Google Drive 上的 Google Drive 音频文件?

如何在我的网络应用程序中流式传输经过身份验证的用户存储在 xer Google Drive 上的私人音频文件? 之前,我只是提供了一个 https://drive.google.com/uc?export=view&id=[file ID] 链接到...

回答 1 投票 0

如何限制Google Drive API密钥的权限

我有一个 Google Cloud API 密钥(如下所示),仅限使用 Google Drive API。我想限制该密钥可以使用 API 中的哪些方法。 我知道谷歌可以区分你...

回答 1 投票 0

Latex 无法通过 gnome-online-accounts 在 Linux 中的 Google Drive 中工作

我按照此处的说明通过 gnome-control-accounts 将 google Drive 安装到 Linux Mint 20:https://www.fosslinux.com/1954/how-to-install-google-drive-on-linux-mint- 18-1-18-2.htm 我有...

回答 1 投票 0

使用 Google Drive API 创建的文件归服务帐户所有

当我在私人云端硬盘中使用 Google Drive API 创建文件时,该文件归我的服务帐户所有,并且默认情况下无法使用我的主帐户访问,除非我添加新权限。即便如此,我的

回答 1 投票 0

为什么现在无法播放 gdrive 文件中的音频?

我有这样的代码: 我有这样的代码: <audio id="player" autoplay controls> <source src="http://docs.google.com/uc?export=open&id=107VpNA7BU4AIxVsK2sRg69-rOigdU57n" type="audio/mp3"> </audio> 最初,上面的代码应该播放驱动器上文件中的歌曲。但是,由于某种原因,它不再起作用了。有人遇到过类似问题吗 听起来您面临着 HTML 的限制,不允许直接从 Google Drive 上的文件流式传输音乐。一种解决方法可能是将音乐文件托管在允许直接流式传输的服务器上,或者您可以考虑使用支持此功能的不同平台或技术。您需要帮助寻找替代解决方案或平台吗? Google 云端硬盘不支持直接流式传输。 您可以尝试使用 Dropbox OP的方法实际上确实适用于从谷歌驱动器传输音频,使用; src="http://docs.google.com/uc?export=open&id=file-id", 直到 2024 年 1 月 10 日左右。 在上述日期之前,我有几个 html/javascript 网络播放器直接从驱动器流式传输我的音乐。 Google 已开始推出影响第三方访问驱动器文件方式的更改;意思是在drive.google.com之外 来自 Google Drive 服务器之外的文件请求不再受到相同的处理。 下面链接中的答案部分解释了问题: https://stackoverflow.com/a/77805668/23238731 虽然这个答案是参考谷歌驱动器中的图像,但这同样适用于像OP代码一样链接的音频文件。 Google 建议用户现在使用 iframe 以 html 形式显示 google 云端硬盘内容,包括音频。 我已经对此进行了测试,iframe 选项确实适用于音频,尽管它对于流媒体没有用。

回答 2 投票 0

Google Apps 脚本 -- 移动文件时出错:异常:访问被拒绝:DriveApp。但所有权限都已设置

这里是初学者程序员。一直在寻找优化我的小型辅导业务的方法,我正在寻找的方法之一就是自动将文件移动和排序到给定名称的学生文件夹中......

回答 1 投票 0

将文件复制到谷歌驱动器所需的最小范围是多少

我正在尝试将文件从我的应用程序复制到谷歌驱动器。我无法使用范围drive.file和drive.metadata来执行此操作,但可以通过驱动器范围来执行此操作。由于驱动范围提供了比

回答 2 投票 0

通过更少的 Java API 调用来映射 Google 云端硬盘内容的有效方法

大家好,我有一个代码,用于列出共享驱动器中存在的文件(以便稍后下载并创建相同的文件夹路径) 目前我做这样的事情: 哈希映射 大家好,我有一个代码,用于列出共享驱动器中存在的文件(以便稍后下载并创建相同的文件夹路径) 目前我正在做这样的事情: HashMap<String, Strin> foldersPathToID = new HashMap<>(); //searching all folders first saving their IDs searchAllFoldersRecursive(folderName.trim(), driveId, foldersPathToID); //then listing files in all folders HashMap<String, List<File>> pathFile = new HashMap<>(); for (Entry<String, String> pathFolder : foldersPathToID.entrySet()) { List<File> result = search(Type.FILE, pathFolder.getValue()); if (result.size() > 0) { String targetPathFolder = pathFolder.getKey().trim(); pathFile.putIfAbsent(targetPathFolder, new ArrayList<>()); for (File file : result) { pathFile.get(targetPathFolder).add(file); } } } 递归方法在哪里: private static void searchAllFoldersRecursive(String nameFold, String id, HashMap<String, String> map) throws IOException, RefreshTokenException { map.putIfAbsent(nameFold, id); List<File> result; result = search(Type.FOLDER, id); // dig deeper if (result.size() > 0) { for (File folder : result) { searchAllFoldersRecursive(nameFold + java.io.File.separator + normalizeName(folder.getName()), folder.getId(), map); } } } 搜索功能是: private static List<com.google.api.services.drive.model.File> search(Type type, String folderId) throws IOException, RefreshTokenException { String nextPageToken = "go"; List<File> driveFolders = new ArrayList<>(); com.google.api.services.drive.Drive.Files.List request = service.files() .list() .setQ("'" + folderId + "' in parents and mimeType" + (type == Type.FOLDER ? "=" : "!=") + "'application/vnd.google-apps.folder' and trashed = false") .setPageSize(100).setFields("nextPageToken, files(id, name)"); while (nextPageToken != null && nextPageToken.length() > 0) { try { FileList result = request.execute(); driveFolders.addAll(result.getFiles()); nextPageToken = result.getNextPageToken(); request.setPageToken(nextPageToken); return driveFolders; } catch (TokenResponseException tokenError) { if (tokenError.getDetails().getError().equalsIgnoreCase("invalid_grant")) { log.err("Token no more valid removing it Please retry"); java.io.File cred = new java.io.File("./tokens/StoredCredential"); if (cred.exists()) { cred.delete(); } throw new RefreshTokenException("Creds invalid will retry re allow for the token"); } log.err("Error while geting response with token for folder id : " + folderId, tokenError); nextPageToken = null; } catch (Exception e) { log.err("Error while reading folder id : " + folderId, e); nextPageToken = null; } } return new ArrayList<>(); } 我确信有一种方法可以通过很少的 api 调用(甚至可能是一个调用?)对每个文件(使用文件夹树路径)进行正确的映射,因为在我的版本中,我花了很多时间进行调用 service.files().list().setQ("'" + folderId+ "' in parents and mimeType" + (type == Type.FOLDER ? "=" : "!=") + "'application/vnd.google-apps.folder' and trashed = false").setPageSize(100).setFields("nextPageToken, files(id, name)"); 每个子文件夹至少一次......并且递归搜索所有内容需要很长时间。最后,映射比下载本身花费的时间更多...... 我搜索了文档,也在此处搜索,但没有找到任何内容来列出具有一个库的所有驱动器调用任何想法? 我想使用专用的 java API 来获取共享 GoogleDrive 中的所有文件及其相对路径,但调用次数尽可能少。 提前感谢您的时间和答复 我建议您使用高效的数据结构和逻辑来构建文件夹树并将文件映射到其路径,如下所示 private static void mapDriveContent(String driveId) throws IOException { // HashMap to store folder ID to path mapping HashMap<String, String> idToPath = new HashMap<>(); // HashMap to store files based on their paths HashMap<String, List<File>> pathToFile = new HashMap<>(); // Fetch all files and folders in the drive List<File> allFiles = fetchAllFiles(driveId); // Build folder path mapping and organize files for (File file : allFiles) { String parentId = (file.getParents() != null && !file.getParents().isEmpty()) ? file.getParents().get(0) : null; String path = buildPath(file, parentId, idToPath); if (file.getMimeType().equals("application/vnd.google-apps.folder")) { idToPath.put(file.getId(), path); } else { pathToFile.computeIfAbsent(path, k -> new ArrayList<>()).add(file); } } // Now, pathToFile contains the mapping of paths to files // Your logic to handle these files goes here } private static List<File> fetchAllFiles(String driveId) throws IOException { // Implement fetching all files and folders here // Make sure to handle pagination if necessary // ... } private static String buildPath(File file, String parentId, HashMap<String, String> idToPath) { // Build the file path based on its parent ID and the idToPath mapping // ... }

回答 1 投票 0

Google Drive - 使用 Node 通过 JSONClient 进行身份验证

我已成功使用 OAuth2 进行身份验证,现在拥有一个身份验证令牌。 加载此令牌会返回一个 JSONClient: const authClient = google.auth.fromJSON(凭证); 现在正在尝试使用这个

回答 1 投票 0

为什么我们无法长时间查看 Google Drive 公共文件而不收到 403 禁止错误?

我正在开发一个 Django 项目,我允许用户在具有公共访问权限的谷歌驱动器上上传他们的图像,然后我以用户方式显示所有上传的图像。 一切完成后,我可以创建以下...

回答 1 投票 0

Google Drive api Python - 上传到文件夹后失去权限

希望有人可以帮助我,因为我正在努力弄清楚为什么会发生这种情况。我有一个文件想要上传到 Google 云端硬盘上的特定文件夹。代码迭代返回的...

回答 1 投票 0

如何添加组织对 Google 云端硬盘文件夹的访问权限?

如何使用 v3 Drive Python API 以编程方式向组织中的每个人授予对 Google Drive 上共享文件夹的访问权限? 这些文档清楚地解释了如何授予特定权限的访问权限...

回答 1 投票 0

如何将本地主机 Blob(剪贴板图像数据)发送到其他服务器(Google Apps 脚本)

我想将 Blob(剪贴板图像数据、客户端 Javascript)发送到其他服务器(Google Apps 脚本)以存储在 Google Drive 中。 客户端和服务器不是同一个域。 我尝试下面的代码,但它不是......

回答 1 投票 0

使用colab笔记本从公共谷歌驱动器中提取Zip文件

我想从公共谷歌驱动器文件夹下载数据集(另存为zip)。 网址 = https://drive.google.com/drive/folders/1TzwfNA5JRFTPO-kHMU___kILmOEodoBo 因为我希望它能够重现...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.