在 Google Assistant 教程中找不到 Firebase webhook 的函数 url

Posted

技术标签:

【中文标题】在 Google Assistant 教程中找不到 Firebase webhook 的函数 url【英文标题】:Can't find the function url for Firebase webhook in Google Assistant tutorial 【发布时间】:2018-02-15 10:53:02 【问题描述】:

我一直在做关于“Facts about You: Build a conversational app for the Google Assistant”的 Codelabs 教程,但遇到了问题。

本教程的第 4 页专门介绍如何使用 Cloud Functions for Firebase 设置 webhook 以提供自定义响应。该页面上的第 7 步显示“部署 Cloud Functions 后,Function URL 将打印在 Firebase CLI 日志中。此 URL 与项目控制台 URL 是分开的。”

我的问题是我只能看到控制台 URL。我在任何地方都没有看到函数 URL。

谁能说明我应该在哪里找到函数 URL?如果不知道 webhook 的端点 URL,我的应用将无法正常运行。

谢谢!

【问题讨论】:

【参考方案1】:

保存 index.js 文件,然后再次运行“Firebase deploy --only functions”。这对我有用,所以希望对你也有用。

【讨论】:

【参考方案2】:

根据 google Firebase 文档,您需要确保在 functions 目录index.js 文件中编写函数。 如果您运行firebase deploy --only functions,CLI 将查看该特定索引文件夹。如果函数目录中的 index.js 文件中没有指定函数,您只会看到“部署完成”和控制台的 URL

【讨论】:

【参考方案3】:

我遇到了同样的问题.....我只是在部署之前保存了文件

很简单,希望对你有用

【讨论】:

【参考方案4】:

我注意到您在问题中包含标签#actions-on-google。我认为 Firebase 可能不会打印 dialogflowFirebaseFulfillment 操作的 URL。但是,您也可以在 Firebase 控制台中查看函数的 URL。

如果您还不知道,可以从部署中获取控制台的 URL。部署后,控制台 URL 将打印在输出中,如下所示。注意控制台 URL 不会因部署而异,因此您也可以将其添加为书签。

Project Console: https://console.firebase.google.com/project/goodmorningroutine-ac4b1/overview

在 Firebase 控制台中,转到左侧的 Functions。该页面将显示一个函数列表,每个函数都有其请求 URL,如下所示。

【讨论】:

我必须这样做。 firebase CLI 似乎不再输出它了【参考方案5】:

我遇到了同样的问题。

当我从 here 部署文件时它可以工作。

和我自己的文件对比后,我发现在失败的情况下漏掉了两行:

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

【讨论】:

【参考方案6】:

当 codelab 指示您运行 firebase deploy --only functions 时,它将输出您创建的 HTTP 函数的 URL。这将是输出的最后一行,看起来像这样:

Function URL (foo): https://us-central1-my-codelab.cloudfunctions.net/foo

复制该 URL - 这是您的 Webhook 端点。

【讨论】:

但是它会在哪里输出呢?它没有出现在终端中。我得到的是:` === 部署到'myprojectname-1234'...我正在部署功能我的功能:确保启用必要的API...我运行时配置:确保启用必要的API...✔runtimeconfig:所有必要的API 已启用 ✔ 功能:所有必要的 API 均已启用 i 功能:准备上传功能目录...我开始发布过程(可能需要几分钟)... ✔ 部署完成!项目控制台:console.firebase.google.com/project/myprojectname-1234/overview` 那么你的 index.js 中可能没有定义 HTTP 函数。 是的,但是教程中没有解释创建一个的必要性。相反,它提供了一个 zip 文件来上传,其中包含所有需要的文件。按照教程的步骤操作会导致应用程序无法运行。 但是我刚刚又从GitHub下载了文件,可以看到代码在那里。我在某个时候对某些东西进行了核弹,但不清楚是如何进行的。感谢您为我指明正确的方向。非常感谢。

以上是关于在 Google Assistant 教程中找不到 Firebase webhook 的函数 url的主要内容,如果未能解决你的问题,请参考以下文章

使用 Android 应用运行 Google Assistant Command

在 ionic 3 应用程序中找不到命名空间“google”

IDEA 使用问题记录

打字稿错误使用googlemaps javascript API时在ionic2中找不到名称'google'

在 appium 中找不到 web 元素

Google Play 服务库修订版 31,在 Eclipse 文件夹中找不到