【问题标题】:Can you use Google Apps Script with Python?您可以在 Python 中使用 Google Apps 脚本吗?
【发布时间】:2012-02-09 04:50:35
【问题描述】:

Google Apps Script 看起来非常适合学校项目,但是我对 JavaScript 不太满意,整个项目的其余部分都将在 Python 中完成。有没有办法使用 Python 库来访问它?还是我需要接受它并学习 JavaScript?

This tutorial 是我在搜索中找到的最接近的东西,但并不是我想要的。

【问题讨论】:

  • 您可以通过 Google Apps Script 调用其他服务,但 Google Apps Script 本身需要 Javascript。

标签: python google-apps-script


【解决方案1】:

不,Google Apps 脚本是它自己的编程语言。有许多APIs for individual Google Apps,但它们不如通过 Google Apps 脚本提供的全面。它们通常专注于提供对数据的访问,如果您不需要对其进行编辑,它们可能是合适的。

【讨论】:

  • 有没有可行的方法来连接它们? Google Apps Script 是唯一可用于 Google Groups 的 API,这正是我所需要的。我想我可以为 a 部分编写一个 Python 脚本,为 b 部分编写一个 Google Apps 脚本,为 c 部分编写另一个 Python 脚本,但我宁愿避免那种杂技。
  • 也许您可以通过 Python 自动化 Web 浏览器,这可能会将一种杂技转换为另一种。但是,您可能需要通过 Google Apps 脚本将所需数据导出到电子表格,然后将其加载到 Python 代码的其余部分中。
  • 致 2015 年后发现此问题的任何人:现在可以查看下面 Bryan P 的答案
【解决方案2】:

现在可以通过使用 REST 接口的新 Execution API 从 Python 向 Google Apps 脚本发出请求。相关blog post公告。还是需要学点JS的。

【讨论】:

    【解决方案3】:

    Python 令人惊叹,它最令人惊叹的品质之一就是能够充当系统不同模块之间的某种“粘合剂”(无论语言如何)。

    我的建议是尝试围绕您需要从 Google App Script 获得的 Javascript 命令制作一个适配器/包装器,将纯 Python 函数公开给您的程序的其余部分,这样您就可以更轻松地使用它。最后,您仍然需要学习一些 Javascript,所以...开始吧。

    【讨论】:

      【解决方案4】:

      从未尝试过,但也许你可以使用 JSON(javascript 对象表示法)

      在 Google Apps 脚本的 Utilities 类中,您可以找到一些引用此表示法的方法(类)。 jsonParsejsonStringify https://developers.google.com/apps-script/class_utilities

      另一方面,python 有一个 json 编码器decoder 来做同样的事情。 http://docs.python.org/library/json.html

      还有 两个教程 参考了 Google Apps 脚本的这些 json 方法 developers.google.com 应用程序脚本文章 picasa_google_apis (作为新手,我不允许放置完整链接)

      这是一个背景链接
      json.org

      除了避免大受挫折的最后一件事......看看这些问题是否可能在你通往天堂的路上。

      • 问题 1397
      • 问题 470
      • 第 220 期
      • 问题 445

      【讨论】:

        【解决方案5】:

        Google Apps 脚本仅使用 Javascript 来操作 Google 产品类和一些更通用的类以在 Google 之外执行操作。 Javascript 是唯一的语言。

        【讨论】:

          【解决方案6】:

          所以我看到这篇文章是因为我也想做同样的事情来计算潮湿空气属性,那里有很多免费的计算工具,其中一个是 python 包。 2 天后......我不确定我如何解释这篇文章是否完全符合我的问题和解决方案,所以我将简要描述我所做的。我已经在post

          中详细记录了详细步骤

          我的目标是通过 GAS 通过 Google 表格对 python 包进行一般访问,类似于如何构建自定义 Excel VBA 宏,这些宏具有对许多 3rd 方库和 COM 接口的扩展。我实现它的方式是首先在云上发布一个简单的 WebApp fruitfarmapp - 也使用 Google 的免费试用 GAE,然后使用 GAS 函数 UrlFetchApp() 向这个 WebApp 发出请求,然后使用 GAS 解压缩 JSON。

          几厘米

          1. 性能提示 - 最小化 API 通信 - 使用批处理请求 我现在实现它的方式只是概念验证,所以我一次返回一个值。如果您需要处理数据数组,这将不是您会这样做的方式——例如,如果您有一个温度和湿度传感器值的数据库。在这种情况下,您应该将响应作为批处理请求进行处理,因为 API 通信是瓶颈缓慢步骤,因此您希望最大限度地减少 API 获取并在 GAS 或 WebApp 中尽可能多地执行操作。

          2. 一般性评论 - 这真的很乏味。如果可能的话,我强烈建议尝试另一种方法。仅仅为了进行简单的计算而构建和部署 WebApp 并不能很好地利用时间,尤其是如果您是像我这样的新手。从头开始构建 WebApp、部署它、调试各种细微差别等总共需要 20 小时。最简单的部分是 GAS 脚本 ~ 部署 API 后需要 1 小时。

          不确定这是否有用,祝你好运!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多