仅在未删除的情况下从 google 个工作表中获取电子表格

getting spreadsheet from google sheets only if that is not deleted

我想通过 Google sheets api 的获取方法从它的 sheet id 中获取特定的传播sheet。我正在使用下面的方法来获得 speadsheet.

sheets_file = service.spreadsheets().get(spreadsheetId=sheets_id).execute()

这里sheet_id是我要获取的sheet的id。但是,如果将 sheet 移至 bin,这甚至会返回它。我不想要那个。如果它没有被删除(或者如果它没有被移动到垃圾箱),我只想获得具有指定 sheet_id 的 sheet。谁能告诉我怎么做。

您尝试执行的操作超出了 Google sheets api 的范围,解决方法是使用 google 驱动器 api.

如果您查看 Spreadshets.get

的文档

Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID.

Google sheets 只会让你得到 sheet。如果您发送一个有效的 sheet id,它将 return 发送给您。 Google sheets 假定您知道您要的是什么。它不会检查此文件是否已被删除,或者它位于哪个目录。只要文件 ID 存在并且您可以访问它,它就会 return 给您。

解决方法

如果您想检查文件的当前位置并检查它是否已被删除,那么您应该通过 Google 驱动器 api

files.get method will take your sheet id or file id. This method will return a file recourse 这包含一个名为 trashed 的 属性。这样您就可以看到文件是否已被删除。

trashed boolean Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file. The trashed item is excluded from all files.list responses returned for any user who does not own the file. However, all users with access to the file can see the trashed item metadata in an API response. All users with access can copy, download, export, and share the file.

所以你的问题的解决方案是使用 google 驱动器 api 中的 file.get 首先检查文件是否已被删除,如果没有,那么你可以加载它与 google sheets api.