我想编写一个使用 content script 的 Chrome 扩展程序它将一些 JavaScript 注入(inject)特定网页,使用 CSS 选择器抓取一些数据,最后将数据存储在 Google 表格中。
我编写了一个 Chrome 扩展程序 ( content script ) 来抓取 HTML 页面,我不清楚的区域是如何最好地将数据插入到 Google 表格中。
我开始阅读这个主题,很快就被可用的选项淹没了,需要一些澄清和指导。
我已经确定了三个选项。以最高级别呈现,它们是:
到 Google 表格。
带有 Google Apps 脚本“后端”的网络应用程序和来自 Chrome 扩展程序的 HTTP POST。
我赞成选项 1,因为它是独立的。我的问题是:
独立的,有什么好的理由支持选项 2 或 3?
后台脚本?
最佳答案
好的,现在问题已经清理完毕,我会回答。
您应该选择(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/