在 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”