【问题标题】:Google sheets API with chrome extension, how to use?带有 chrome 扩展的 Google Sheets API,如何使用?
【发布时间】:2018-01-19 06:49:31
【问题描述】:

我正在制作我的第一个 chrome 扩展程序。我的想法是调用 Google Sheets API 在我的扩展程序的 google 电子表格中附加一行。我指的是这个link,并成功地尝试了API在我想要的工作表中追加行。

现在我正在尝试从我的 chrome 扩展代码文件中执行相同的操作。您如何为您的扩展使用相同的示例代码,因为我们的扩展不允许内联 js。任何样本或基本样板都会有所帮助。

非常感谢。

【问题讨论】:

    标签: javascript html google-chrome-extension google-sheets-api


    【解决方案1】:

    由于内联 JavaScript,您收到了该错误。
    Chrome 扩展程序不允许任何内联脚本。 Read Here.

    内联 JavaScript 不会被执行
    内联 JavaScript 将不会被执行。此限制禁止内联块和内联事件处理程序(例如 )。

    因此,任何 JavaScript 都必须来自其自己的 .js 文件。
    在 popup.js 中为该页面使用 popup.html 和所有 JavaScript 是很常见的。
    options.html 和 options.js 也是如此。


    有用的链接:
    Chrome Extension and Google Sheets
    Tutorial for using OAuth

    【讨论】:

    • 感谢您的回答。我知道我应该只在 js 中编写 onclick 等...但问题是,我不知道如何执行“异步”和“延迟”关键字。以及如何在我的 js 中将 onload 用于脚本 src?
    • 我正在尝试在 js 中编写<script async defer src="https://apis.google.com/js/api.js" onload="this.onload=function(){};handleClientLoad()" onreadystatechange="if (this.readyState === 'complete') this.onload()"> </script>,以便 html 文件中不会有任何内联 js。如何将其转换为 js,以便我可以从 html 中删除此标签。
    • 这只是为了修复您的内容安全策略错误。我不确定您是否真的想像这样使用https://apis.google.com/js/api.js 来访问 Google 表格。我将在我的答案中添加一些链接,以帮助您解决后续问题。
    • 嗯,我不确定https://apis.google.com/js/api.js 是否正确,但我发现在这个link 上并使用相同。
    • 我知道你从哪里得到它。抱歉,我帮不上忙,我建议发布一个新问题,专门询问如何使用与该站点演示的相同方法,但在 Chrome 扩展程序内部,现在理解你不能像他们显示的那样拥有内联 JS。
    【解决方案2】:

    https://github.com/malik55khan/speardsheet-reader/

    演示:https://www.loom.com/share/d7d432c513a44b05a615fa0bd170fb23

    在 google 控制台中创建一个客户端身份验证密钥并选择 chrome 扩展。之后推送项目ID并保存。然后你会得到client_id。 下一步创建一个 api 密钥。

    添加一个新项目。 - 选择谷歌云或电子表格 - 启用 API。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 2014-10-02
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 2013-06-18
      • 1970-01-01
      相关资源
      最近更新 更多