如何在Google Drive Android API中获取已创建文件夹的DriveId
我的Google Drive帐户上有文件夹,我想在特定文件夹中添加文件。我怎么做?在需要的DriveId中存在\u FOLDER\u ID,但我不知道DriveId我的文件夹,我只知道名称。如果您有文件夹的元数据或DriveFolder对象,您可以从中获取元数据,您可以调用如何在Google Drive Android API中获取已创建文件夹的DriveId,android,google-drive-api,google-drive-android-api,Android,Google Drive Api,Google Drive Android Api,我的Google Drive帐户上有文件夹,我想在特定文件夹中添加文件。我怎么做?在需要的DriveId中存在\u FOLDER\u ID,但我不知道DriveId我的文件夹,我只知道名称。如果您有文件夹的元数据或DriveFolder对象,您可以从中获取元数据,您可以调用 如果您有web资源,则可以使用该资源id获取DriveId。如果您有文件夹的元数据或DriveFolder对象,您可以从中获取元数据,则只需调用 如果您有web资源,您可以使用该资源id通过@smokybob获取DriveI
如果您有web资源,则可以使用该资源id获取DriveId。如果您有文件夹的元数据或DriveFolder对象,您可以从中获取元数据,则只需调用
如果您有web资源,您可以使用该资源id通过@smokybob获取DriveId。我不知道这对原来的问题是否有帮助,但根据您的评论: 下面是一段代码片段,它应该可以为您获取文件夹/文件驱动器ID。“title”、“mime”和“fldr”参数是可选的。如果为“fldr”传递null,则搜索在应用程序的文件范围内是全局的,否则在指定的文件夹内而不是在子文件夹中。它使用最简单的“等待”风格,必须从UI线程中运行 不过要小心,文件夹/文件名在Google Drive中不是唯一的实体。在一个文件夹中可以有多个同名文件/文件夹 一般来说,您可以从以下位置获得所需的“DriveId”: 如上面代码所示的文件/文件夹名称,或 从“encodeToString”获取的字符串标识符。例如,我使用它来缓存我的根文件夹id,或者 从“getResourceId”获取的字符串标识符。这是您在html地址中看到的字符串。但由于您的唯一作用域是文件,所以不要指望使用它打开应用程序未创建的内容。 2和3标识符都是字符串,因此它们可能会混淆。通过decodeFromString检索驱动器ID时,标识符2更快。通过fetchDriveId检索标识符3的速度较慢,但如果您需要将ID带到其他位置,例如应用程序脚本,则标识符3非常有用。另见
至于文件/文件夹的创建,我有一些代码。如果查看waits\MainActivity.java。。。buildTree,您将在构建简单文件夹树时看到递归创建文件夹/文件 @smokybob。我不知道这对原来的问题是否有帮助,但根据您的评论: 下面是一段代码片段,它应该可以为您获取文件夹/文件驱动器ID。“title”、“mime”和“fldr”参数是可选的。如果为“fldr”传递null,则搜索在应用程序的文件范围内是全局的,否则在指定的文件夹内而不是在子文件夹中。它使用最简单的“等待”风格,必须从UI线程中运行 不过要小心,文件夹/文件名在Google Drive中不是唯一的实体。在一个文件夹中可以有多个同名文件/文件夹 一般来说,您可以从以下位置获得所需的“DriveId”: 如上面代码所示的文件/文件夹名称,或 从“encodeToString”获取的字符串标识符。例如,我使用它来缓存我的根文件夹id,或者 从“getResourceId”获取的字符串标识符。这是您在html地址中看到的字符串。但由于您的唯一作用域是文件,所以不要指望使用它打开应用程序未创建的内容。 2和3标识符都是字符串,因此它们可能会混淆。通过decodeFromString检索驱动器ID时,标识符2更快。通过fetchDriveId检索标识符3的速度较慢,但如果您需要将ID带到其他位置,例如应用程序脚本,则标识符3非常有用。另见
至于文件/文件夹的创建,我有一些代码。如果查看waits\MainActivity.java。。。buildTree,您将在构建简单文件夹树时看到递归创建文件夹/文件 好的。我在Github上的驱动器演示中遇到了同样的问题: 自述文件的底部写着: 如果你真的想运行这个示例应用程序,尽管它主要是 如果您可以读取代码,则需要注册OAuth 软件包com.google.android.gms.drive.sample.demo的2.0客户端,使用您自己的调试键,并将任何资源ID设置为您需要的资源ID 有权访问。资源ID定义位于: com.google.android.gms.drive.sample.demo.BaseDemoActivity.EXISTING_FOLDER_ID com.google.android.gms.drive.sample.demo.BaseDemoActivity.EXISTING_FILE_ID 他们并没有具体说明如何获取和设置BaseDemoActivity文件中定义的现有\u文件夹\u ID和现有\u文件\u ID常量的resourceID,在阅读了上面的seanpj注释后,我使用了他的方法3来查找DriveID,以便我可以将其添加到演示应用程序中,使其正常运行 你所需要做的就是在你的电脑上打开驱动器,然后点击顶部的链接按钮 链接的一部分显示id=XXXXXXXXXX。将其复制并粘贴到中的BaseDemoActivity文件中 演示应用程序。对您自己在驱动器上创建的文件和文件夹执行此操作
演示应用程序现在应成功运行。确定。我在Github上的驱动器演示中遇到了同样的问题: 自述文件的底部写着: 如果你真的想运行这个示例应用程序,尽管它主要是 如果您可以读取代码,则需要注册OAuth 软件包com.google.android.gms.drive.sample.demo的2.0客户端,使用您自己的调试键,并将任何资源ID设置为您需要的资源ID 有权访问。资源ID定义位于: com.google.android.gms.drive.sample.demo.BaseDemoActivity.EXISTING_FOLDER_ID com.google.android.gms.drive.sample.demo.BaseDemoActivity.EXISTING_FILE_ID 他们并没有具体说明如何获取和设置BaseDemoActivity文件中定义的现有\u文件夹\u ID和现有\u文件\u ID常量的resourceID,在阅读了上面的seanpj注释后,我使用了他的方法3来查找DriveID,以便我可以将其添加到演示应用程序中,使其正常运行 你所需要做的就是在你的电脑上打开驱动器,然后点击顶部的链接按钮 链接的一部分显示id=XXXXXXXXXX。复制并粘贴到演示应用程序中的BaseDemoActivity文件中。对您自己在驱动器上创建的文件和文件夹执行此操作
演示应用程序现在应该可以成功运行。您可以使用查询来查找文件夹
Query query = new Query.Builder().addFilter(Filters.and(
Filters.eq(SearchableField.TITLE, "folder name"),
Filters.eq(SearchableField.TRASHED, false))).build();
我提供了一个示例教程
在本教程中,它们是异步调用的您可以使用查询来查找文件夹
Query query = new Query.Builder().addFilter(Filters.and(
Filters.eq(SearchableField.TITLE, "folder name"),
Filters.eq(SearchableField.TRASHED, false))).build();
我提供了一个示例教程
在本教程中,他们正在异步调用我认为一个简单的问题是:当我只知道foldernameaka标题时,如何获取文件夹的DriveId,并向其中添加文件?在这种情况下,您可以使用查询API搜索具有该标题的文件夹:,com.google.android.gms.drive.query.QuerySo我可以获得不是通过我的应用程序创建的文件夹,但例如通过webinterface,您的应用程序需要获得查看该文件夹的授权。您可以通过OpenFileActivity要求用户选择一个文件夹来完成此操作,在该活动中,您将mimeType限制为文件夹mimeType@云达因为我们在谈论新的Google Drive Android API,我相信你只能用你的应用程序创建的文件来“开派对”,因为只支持文件范围。我认为一个简单的问题是:当我只知道foldernameaka标题时,我怎么才能获得文件夹的驱动器ID,并向其中添加文件?在这种情况下,您可以使用查询API搜索标题为com.google.android.gms.drive.Query.Query的文件夹。我可以获取不是通过我的应用程序创建的文件夹,但例如通过webinterface,您的应用程序需要获得查看该文件夹的授权。您可以通过OpenFileActivity要求用户选择一个文件夹来完成此操作,在该活动中,您将mimeType限制为文件夹mimeType@云达因为我们谈论的是新的Google Drive Android API,我相信你只能用你的应用程序创建的文件来“举办派对”,因为只支持文件范围。我重复我自己的话,但问题是,这个文件必须由演示应用程序自己创建。GDAA只支持文件作用域,即只能使用它创建的文件/文件夹。在一个松散相关的问题中,我在Github上放了一段测试代码,除了官方演示之外,这可能很有用,因为它要简单得多。欢迎您参与其中。我在重复我自己的话,但问题是这个文件必须由演示应用程序自己创建。GDAA只支持文件作用域,即只能使用它创建的文件/文件夹。在一个松散相关的问题中,我在Github上放了一段测试代码,除了官方演示之外,这可能很有用,因为它要简单得多。欢迎您参与其中。找不到GitHub页面。我已退休。这里仍然有一个,但我已经有一段时间没有碰它了,GDAA可能已经进化了。GitHub页面未找到·我已经退休了。这里仍然有一个,但我已经有一段时间没碰它了,GDAA可能已经进化了。