在 Google 助手教程中找不到用于 Firebase webhook 的函数 url
Can't find the function url for Firebase webhook in Google Assistant tutorial
我一直在学习关于“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?如果不知道 webhoook 的端点 URL,我的应用将无法 运行 正确。
谢谢!
当 Codelab 指示您 运行 firebase deploy --only functions
时,它将为您创建的 HTTP 函数输出 URL。这将是最后一行输出,看起来像这样:
Function URL (foo): https://us-central1-my-codelab.cloudfunctions.net/foo
复制 URL - 这是您的 webhook 端点。
我运行遇到了同样的问题。
当我从 here 部署文件时它有效。
和我自己的文件对比后,我发现在失败的情况下漏掉了两行:
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
我注意到您在问题中包含了标签#actions-on-google。我认为 Firebase 可能不会为 dialogflowFirebaseFulfillment
操作打印 URL。但是,您还可以在 Firebase 控制台中查看函数的 URL。
如果您还不知道,可以从部署中获取控制台的 URL。部署控制台后 URL 将打印在输出中,如下所示。注意控制台 URL 不会随着部署而改变,因此您也可以将其添加为书签。
Project Console: https://console.firebase.google.com/project/goodmorningroutine-ac4b1/overview
在 Firebase 控制台中,转到左侧的“功能”。该页面将显示一个函数列表,每个函数及其请求 URL,如下所示。
我遇到了同样的问题.....我只是在部署前保存了文件
很简单,希望对你有用
根据 google Firebase 文档,您需要确保在 index.js 文件中编写函数 函数目录。
如果您 运行 firebase deploy --only functions
CLI 将查看该特定索引文件夹。如果函数目录中的 index.js 文件中没有指定函数,您将只看到控制台
的 "Deploy Complete" 和 URL
保存 index.js 文件,然后再次 运行 "Firebase deploy --only functions"。这对我有用,所以希望对你也有用。
我一直在学习关于“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?如果不知道 webhoook 的端点 URL,我的应用将无法 运行 正确。
谢谢!
当 Codelab 指示您 运行 firebase deploy --only functions
时,它将为您创建的 HTTP 函数输出 URL。这将是最后一行输出,看起来像这样:
Function URL (foo): https://us-central1-my-codelab.cloudfunctions.net/foo
复制 URL - 这是您的 webhook 端点。
我运行遇到了同样的问题。
当我从 here 部署文件时它有效。
和我自己的文件对比后,我发现在失败的情况下漏掉了两行:
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
我注意到您在问题中包含了标签#actions-on-google。我认为 Firebase 可能不会为 dialogflowFirebaseFulfillment
操作打印 URL。但是,您还可以在 Firebase 控制台中查看函数的 URL。
如果您还不知道,可以从部署中获取控制台的 URL。部署控制台后 URL 将打印在输出中,如下所示。注意控制台 URL 不会随着部署而改变,因此您也可以将其添加为书签。
Project Console: https://console.firebase.google.com/project/goodmorningroutine-ac4b1/overview
在 Firebase 控制台中,转到左侧的“功能”。该页面将显示一个函数列表,每个函数及其请求 URL,如下所示。
我遇到了同样的问题.....我只是在部署前保存了文件
很简单,希望对你有用
根据 google Firebase 文档,您需要确保在 index.js 文件中编写函数 函数目录。
如果您 运行 firebase deploy --only functions
CLI 将查看该特定索引文件夹。如果函数目录中的 index.js 文件中没有指定函数,您将只看到控制台
保存 index.js 文件,然后再次 运行 "Firebase deploy --only functions"。这对我有用,所以希望对你也有用。