【问题标题】:How to create time-driven triggers in a google API service account如何在 google API 服务帐户中创建时间驱动的触发器
【发布时间】:2012-07-23 10:44:12
【问题描述】:

我们的一个 Java 应用程序使用 google API 服务帐户来处理与其共享的所有 Google Drive 文档。作为at the moment there is no REST API for manipulating the content of the documents,我计划为此使用带有time driven triggerGoogle Apps 脚本

找不到如何为 google API 服务帐户设置这样的触发器。需要一些帮助。谢谢。

桑杰

【问题讨论】:

    标签: google-api google-apps-script


    【解决方案1】:

    根据Documentation,时间驱动触发器在触发器所有者身份下执行。因此,哪种帐户类型使用您的 Java 应用程序并不重要。

    【讨论】:

    • 据我所知,要在帐户中创建触发器,我将以该帐户登录,进入脚本编辑器并创建触发器。但是,由于我无法登录 google API 服务帐户,我想知道如何在该帐户中创建触发器。
    • @Sanjay。你必须有一个普通的谷歌用户。要创建服务帐户,您必须使用 API 控制台,要访问控制台,您必须拥有 Google 帐户。您可以使用此 Google 帐户创建触发器。
    • 好的。这意味着,据我了解,我必须让触发器从我的普通帐户运行,而不能让它在服务帐户中运行。对?没关系,但为此我的普通帐户必须有权访问这些文件,而我想避免这种情况。
    • 我明白了。谢谢你的澄清。
    • @Sanjay。我可以做一个假设。在服务帐户中创建时间驱动触发器是不可能的。服务帐户旨在允许服务(无需任何人工参与)通过“REST API”访问数据。对于此目标,无需像人类一样通过 Web 浏览器登录到此类帐户(为此设计了另一种帐户类型,“已安装的应用程序”等)。不可能通过 REST API 创建 GAS 触发器。只能在脚本编辑器中创建触发器,并且创建的触发器由创建者帐户执行。
    【解决方案2】:

    google API 服务帐户没有特殊的触发器 设置触发器对于任何帐户都是一样的。查看documentation on triggers了解更多信息

    【讨论】:

    • 但我不知道该怎么做。对于普通帐户,我可以登录并转到脚本编辑器来创建触发器。但是对于服务帐户,我无法登录。
    • 我假设,服务帐户是指 Google Apps 帐户 (@yourdomain.com),而不是消费者帐户 (@gmail.com)。触发菜单没有理由不显示在您的应用程序帐户中。在问题跟踪器中提出问题可能会有所帮助。
    • 没有没有。通过服务帐户,我的意思是 the ones 我们通过 Google APIs Console 创建。
    • 不确定您的问题是什么。您在 API 控制台中获得的是对各种 Google 服务的 API 的访问权限。这些与 Apps 脚本无关。但是,您可以编写可以与其他 API 一起使用的 Apps 脚本,并且您可以使用定时触发器。我无法理解服务帐户的定时触发器应该如何工作。你有示例代码来说明吗?
    • @Srik。主题启动器有一个 Java 应用程序,它使用 Google API 或 Google Data API 操作 Google 文档。 Java 应用程序使用一种称为“服务帐户”的特殊身份验证。应用程序应格式化文档(更改字体大小、更改字体颜色等)。上面提到的 API 不允许这样做,并且启动器使用时间驱动触发器寻找一种方法来执行此操作,因为 GAS 允许文档布局操作。这就是问题所在。触发器仅在创建者访问权限下运行,启动者不想允许这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2022-11-08
    • 2021-09-30
    • 2020-08-11
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多