以其他用户身份以打开方式运行高级API

时间:2019-02-22 14:08:01

标签: google-apps-script documentation

我正在制作一个脚本,在您打开PewDiePie时将其添加。我有部分工作。当我打开它时它可以工作,但是我不认为它可以像其他用户一样工作。是否有关于如何使其与他人一起运行时起作用的想法?这是我的代码:

`function onOpen() {
  isEdited()
}
function isEdited() {

      var MyDoc = DocumentApp.getActiveDocument().getBody();
      var Text = MyDoc.editAsText().getText();
      var DocLen= Text.length;
      if(DocLen!= PropertiesService.getDocumentProperties().getProperty('DocLen'))
      {
        addSubscription();  
        PropertiesService.getDocumentProperties().setProperty('DocLen', DocLen)
      }    
    }
function addSubscription() {
  var channelId = 'UC-lHJZR3Gqxm24_Vd_AJ5Yw';
  var resource = {
    snippet: {
      resourceId: {
        kind: 'youtube#channel',
        channelId: channelId
      }
    }
  };`

我实际上有一个可行的想法,但是我不知道该怎么做,而且在任何地方都找不到。我的想法是使它以打开它的用户身份创建一个可安装的触发器onOpen。是的。 我应该解决的问题:isEdited只是我从Internet上获得的东西。它可以完成工作,但是无论出于何种原因,onOpen似乎都无法正常工作。 谢谢!

1 个答案:

答案 0 :(得分:0)

  

我正在制作一个脚本,在您打开PewDiePie时将其添加。

希望您在添加订阅之前先征得用户的同意

  

以打开它的用户身份创建一个可安装的触发器onOpen

您无法以所需方式创建可安装触发器。用户可以创建自己的可安装触发器,但用户X不能为用户Y创建可安装触发器。

可安装的触发器的文档@ https://developers.google.com/apps-script/guides/triggers/installable#restrictions


如果我想实现这样的目标,我该怎么办:

  • 使用google apps脚本创建网络应用以创建订阅并部署它以运行用户身份执行
  • 创建一个调用网络应用程序的功能
  • 创建菜单和菜单项,用户应单击该菜单和菜单项以通过功能调用Web应用程序

@ https://developers.google.com/apps-script/guides/web上的网络应用程序文档

有关如何在https://developers.google.com/apps-script/reference/url-fetch/上调用网络应用的文档

用于创建菜单的文档@ https://developers.google.com/apps-script/guides/menus