从Cloud Functions的Cloud Functions调用Google AppScript Web App

时间:2017-04-10 18:16:40

标签: firebase google-apps-script google-sheets google-cloud-functions

我试图让Firebase的Cloud Functions调用使用Google Apps脚本部署的简单Web应用。有人可以指向任何示例或帮助弄清楚我的代码中的错误原因。非常感谢您的帮助。

-

我使用Google Apps脚本创建了一个简单的网络应用程序。

function doGet() {
   return ContentService.createTextOutput('Hello world');
}

我在Firebase Cloud功能中使用请求承诺来调用此功能。我试图尽可能接近为Cloud Functions提供的Google Translate示例。但是,调用Cloud Function时出现以下错误。

RequestError: Error: getaddrinfo ENOTFOUND script.google.com 
script.google.com:443

这是我的云功能代码 -

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const request = require('request-promise');

exports.makeUppercase = 
functions.database.ref('/users/{userid}/logs/{logid}/mykey')
.onWrite(event => {

  var url = `https://script.google.com/macros/s/.../exec`;
  var retstr = request(url, {resolveWithFullResponse: true}).then(
  response => {
    if (response.statusCode === 200) {
      const data = response.body;
      return event.data.ref.parent.child('uppercase').set(data);
    }
    throw response.body;
  });
});

提前致谢,

此致 拉胡

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题并找到了这个答案(https://stackoverflow.com/a/42775841)。 似乎调用Google Apps脚本被视为外部。