google-chrome-extension - 从 Google Chrome(内容)扩展程序写入 Google 表格

标签 google-chrome-extension google-drive-api google-spreadsheet-api

我想编写一个使用 content script 的 Chrome 扩展程序它将一些 JavaScript 注入(inject)特定网页,使用 CSS 选择器抓取一些数据,最后将数据存储在 Google 表格中。

我编写了一个 Chrome 扩展程序 ( content script ) 来抓取 HTML 页面,我不清楚的区域是如何最好地将数据插入到 Google 表格中。

我开始阅读这个主题,很快就被可用的选项淹没了,需要一些澄清和指导。

我已经确定了三个选项。以最高级别呈现,它们是:

  • 通过使用内容脚本抓取数据并在后台脚本中使用 API 来完成 Chrome 扩展程序中的所有操作。
  • 对写入的自定义服务器执行 HTTP POST
    到 Google 表格。
  • 将工作表发布为
    带有 Google Apps 脚本“后端”的网络应用程序和来自 Chrome 扩展程序的 HTTP POST。

  • 我赞成选项 1,因为它是独立的。我的问题是:
  • 已用尽解决方案域?
  • 我赞成选项 1,因为它是
    独立的,有什么好的理由支持选项 2 或 3?
  • 可以直接从 Chrome 使用 Google 电子表格 API
    后台脚本?
  • 最佳答案

    好的,现在问题已经清理完毕,我会回答。
    您应该选择(1),但所有 3 个都是可行的。
    如果你必须找到一个理由去做 2 或 3,有。特别是如果您选择 (1),则用户必须登录 Chrome(与登录 gmail 不同)。许多用户不明白,甚至不知道您可以登录 chrome 或好处或分离帐户。

    我已经从内容脚本完成了所有 1,2 和 3(以及手动 oauth2 流程),因为 chrome.identity 去年还没有可用。
    它已经有一段时间了,所以是的,你可以从内容脚本中这样做,但实际调用的需要是背景页面。
    您必须放置正确的“范围”(“https://spreadsheets.google.com/feeds”、“https://docs.google.com/feeds”)

    和“权限”(“https://spreadsheets.google.com/”、“https://docs.google.com/”),并在 google 控制台中创建正确的 client_id,将其指向正确的扩展 ID。
    看到这个回答(由我:)您可能使用 client_id 运行的问题:
    keep getting kicked out my google login when using chrome.identity api

    要写入电子表格,您可以使用行提要或单元格提要。确保了解每种方法的优缺点。更新:或使用大大改进的 Sheets API:https://developers.google.com/sheets/

    让它自己工作是一个很好的练习,这样你就知道发生了什么。如果失败,请从 github 获取我的“Plus for Trello”扩展程序的源代码,看看它做了什么。

    关于google-chrome-extension - 从 Google Chrome(内容)扩展程序写入 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23864684/

    相关文章:

    javascript - Chrome 内容脚本未在大约 :blank page 中加载

    javascript - 如何自动填写表格

    javascript - 在 Chrome 中下载后访问文件数据...?

    import - 如何在 Google Colab 中将 jupyter notebook 的功能导入另一个 jupyter notebook

    google-apps-script - 在 Google 表格中插入新行时的默认单元格值

    javascript - 使用javascript将谷歌电子表格导出为xlsx

    google-sheets - 如何通过 sheets API v4 更新 google 电子表格

    javascript - 递归异步函数中的 Promise

    android - 阅读超时上传到谷歌驱动器

    iphone - Google Drive SDK - 流式传输音频文件