从 google 应用脚本调用 google 云函数

calling a google cloud function from google app script

我有一个 Google 云函数,我想从我的 Google 应用程序脚本中调用 Google 表单提交。 该过程将是:1) 用户提交 google 表单,2) 将有一个触发器 (onformsubmit) 将 运行 应用脚本函数 3) 应用脚本函数将触发云函数。

到目前为止:

  1. 脚本触发器有效,在日志中它正在正确侦听。

  2. 云功能有效,我在云功能测试界面对其进行了测试,当我从那里运行它时,它完成了我需要它做的事情,即更新 google sheet 以及将数据上传到 BigQuery。

问题来自从我与 google 表单提交触发器相关联的 App 脚本调用该函数。那里似乎没有通信,因为云函数日志没有显示触发器提交时发生的任何事情。

这是我的应用脚本代码:

function onSubmit() {

  var url = "myurl"   
  const token = ScriptApp.getIdentityToken() 

  var options = {   
      'method' : 'get',   
      'headers': {"Authorization":"Bearer "+ token}    
        };   
  
  var data = UrlFetchApp.getRequest(url,options);
  
  return data
  
    }

我的 Cloud 函数是 Python 中的 HTTP 函数,开头为:

def numbers(request):

一些故障排除:

任何关于为什么两者不沟通的想法都将不胜感激!

如果有人遇到类似问题,我可以解决这个问题。由于我的电子邮件地址与组织帐户相关联,因此我的 Apps 脚本和 GCP 不允许正确的权限。

在 Apps 脚本的设置中,我无法使用该功能更改 GCP 帐户,因为 GCP 在我的组织之外。在我的组织 GCP 上设置 Cloud Function 后,我可以在设置中手动更改帐户,并且我的函数在触发器上正常工作。