gpt4 book ai didi

java - 如何从Google表格中获取修改后的内容?

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:24 25 4
gpt4 key购买 nike

我正在尝试从谷歌表格中获取给定时间后修改的内容。我无法找到获取数据的 api。我可以看到的是从驱动器 Api 单独获取修改日期。如何使用 Drive 或 Sheets Api 获取数据?如果可能的话请给我建议

最佳答案

Google 云端硬盘会跟踪其中包含的文件的修订历史记录。但是,无法仅从请求中获取修订。

Google 允许您接收 email notifications每当用户对您的工作表进行编辑时,您可以通过完成以下步骤进行设置:

  1. 在电子表格的 WebView 中,点击工具 -> 通知规则...
  2. 当...时通过 myemail@address.ext 通知我下,选择进行任何更改
  3. 通知我...下选择电子邮件 - 立即
  4. 点击保存

您还应该注意,您不会收到有关您对工作表进行编辑的通知 - 仅当其他用户编辑工作表时才会收到通知。每当您收到电子邮件通知时,您都会收到一个链接,以只读 WebView 链接的形式查看电子表格的更改。

您可以通过编程方式解决这个问题,尽管没有一种正确的方法,而且可能非常复杂。您可以使用 Revisions: list method of the Drive REST API获取有关进行编辑的用户的信息,以及可用于 export that revision 的链接列表将工作表更改为另一个 MIME 类型,如下面的请求响应中所示。

请求:

GET https://www.googleapis.com/drive/v3/files/SPREADSHEET_ID/revisions

使用 revisions/exportLinks,revisions/lastModifyingUser/emailAddress 作为 fields 字段,并将 SPREADSHEET_ID 替换为电子表格的 ID,将为您提供 200 响应:

{
"revisions": [
{
"lastModifyingUser": {
"emailAddress": "username@domain.ext"
},
"exportLinks": {
"application/x-vnd.oasis.opendocument.spreadsheet": "https://docs.google.com/spreadsheets/export?id=SPREADSHEET_ID&revision=revisionNumber&exportFormat=ods",
"text/tab-separated-values": "https://docs.google.com/spreadsheets/export?id=SPREADSHEET_ID&revision=revisionNumber&exportFormat=tsv",
"application/pdf": "https://docs.google.com/spreadsheets/export?id=SPREADSHEET_ID&revision=revisionNumber&exportFormat=pdf",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "https://docs.google.com/spreadsheets/export?id=SPREADSHEET_ID&revision=revisionNumber&exportFormat=xlsx",
"text/csv": "https://docs.google.com/spreadsheets/export?id=SPREADSHEET_ID&revision=revisionNumber&exportFormat=csv",
"application/zip": "https://docs.google.com/spreadsheets/export?id=SPREADSHEET_ID&revision=revisionNumber&exportFormat=zip",
"application/vnd.oasis.opendocument.spreadsheet": "https://docs.google.com/spreadsheets/export?id=SPREADSHEET_ID&revision=1&exportFormat=ods"
}
}
]
}

通过指向各个更改的链接,您可以使用 Apps 脚本获取和比较工作表的不同版本,并输出版本之间具有不同值的单元格的 A1 表示法。这与原始 Revisions: list 请求中的电子邮件地址足以编译包含以下内容的文件或日志。

您可以将其放入 simple onEdit() trigger绑定(bind)到工作表将允许您在每次用户编辑工作表时自动获取更改。

关于java - 如何从Google表格中获取修改后的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56930844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com