当前位置: 首页 > 知识库问答 >
问题:

React Native列出Google Drive上的共享文件

东方骏
2023-03-14

我不确定这是否可行——但我希望我的RN应用程序的用户能够在他们的Google Drive帐户中打开专门与他们共享的文件,但我遇到了权限问题。

Google Drive有一个限制较少的auth/Drive。文件scope,让应用程序能够访问应用程序创建或打开的文件,这似乎是一条可行之路。

但是,用户可以查看、下载或更新Google Drive中共享文件的唯一方法是使用最严格的/auth/Drive范围。

https://developers.google.com/drive/api/v3/about-auth

你知道RN中有没有一种方法可以让用户从Google Drive打开一个共享文件,我想它会把文件放在auth/Drive下。文件范围?

欢迎所有建议。

非常感谢。

共有1个答案

陈实
2023-03-14

在您的情况下,auth。驾驶文件scope不会完全按照您所描述的那样适用于工作流,您只需要确保用户有机会明确授予对新文件的权限。请参阅:处理“打开”

这并不特定于React Native或任何其他框架或库,这完全是Google API的领域。

  • 用户A使用应用程序创建文件,用户A是所有者,应用程序可以通过用户A的帐户访问该文件
  • 用户A与用户B共享文件。除非用户B明确允许应用程序通过其帐户访问该文件,否则它将无法访问该文件

这里的关键概念是应用程序通过用户帐户访问文件。就像应用程序被允许像用户一样行事。这不是关于应用程序是否可以在另一个帐户中访问它,而是关于应用程序的行为,就好像他们是拥有某些文件的用户。

这可能被视为对驱动器作用域的限制。尽管我不确定沿着这些思路的新范围到底是如何实现的。似乎的范围:

“如果应用程序有权访问该文件,那么无论应用程序运行于哪个帐户,它都应该有权访问该文件。”

看起来它可能存在安全漏洞。

驱动器范围有一个活动功能请求,允许与应用共享文件夹。因此,如果有人将文件添加到共享文件夹,应用程序将具有访问权限。

我不确定你是如何实现你的应用程序的,所以不确定这是否会帮助你,但是如果你想看到这一点,一定要去“明星”这个问题,让谷歌知道你想要它。

或者,如果您对可能有用的新范围有想法,请使用以下模板之一提交功能请求

  • 身份
  • 用“
  • 关于Auth
 类似资料:
  • 我有一个经过验证的谷歌客户端,我想列出其他人公用文件夹中的文件(我认为共享或不共享的文件夹是不相关的,因为它是公用的) 这是我在NodeJS中的代码 注意:文档中没有“folderId”选项:https://developers.google.com/drive/api/v3/reference/files/list-只是一个drivid选项 虽然我将corpa设置为“drive”和drive I

  • 我正在开发一个android应用程序,我试图将谷歌驱动器集成到我的应用程序中。该程序是允许同步,所以它在SD卡上创建一个文件,然后这个文件被上传到谷歌驱动器上。我成功地进行了身份验证,但是当我使用函数上传时,我得到一个NullPointerException,并且我看不到值在哪里是null,因为当我遍历所有内容时,似乎没有任何内容是null。 下面是我用来执行上传的代码。 以下是我如何获得驱动器服

  • 关于在共享驱动器下列出文件夹的问题。 我能够获得成功的响应,同时调用下面的API通过传递查询参数为: includeTeamDriveItems=true API:https://developers.google.com/drive/api/v3/reference/files/list?apix_params={包含TeamDriveItem: true, q:0AATe_aghhsdfvbd

  • 我只是简单地从网络获取数据包,并在一个线程中将它们排队,然后在另一个线程中使用此数据包(取消排队)。 所以我决定使用boost库来创建一个基于https://www.quantnet.com/cplusplus-multithreading-boost/ 问题是,虽然没有得到任何数据,但Dequeue()方法会阻塞我的使用者线程,当我想终止使用者线程时,有时我无法结束或停止它。 结束Dequeue

  • > 假设我有一个导出链接,如下所示:

  • 我正在尝试制作一个用于共享音频文件的按钮。这不起作用。首先,我试图直接从原始文件夹发送文件,而不将其复制到手机卡上。这并没有解决我的问题。我尝试的第二件事是将文件保存到手机上,然后共享。将文件保存到手机的部分现在可以工作了,但当我尝试将音频文件共享到其他设备时,所有兼容的应用程序(Whatsapp、Gmail等)都崩溃了。 这是我的代码: 顺便说一下,音频文件是一个。ogg文件。我希望这些应用程序