我正在学习Firebase教程,了解如何使用Firebase实现Algolia:https://firebase.google.com/docs/firestore/solutions/search
我目前被困在教程的索引部分,因为我有来自firebase云函数日志的错误。
错误为:TypeError[ERR_HTTP_INVALID_HEADER_VALUE]:无效值"未定义的";对于报头";x-algolia-api-key">
如何修复此错误?
这是我的代码
const functions = require('firebase-functions');
const algoliasearch = require("algoliasearch");
const ALGOLIA_ID = functions.config().algolia.app_id;
const ALGOLIA_ADMIN_KEY = functions.config().algolia.api_key;
const ALGOLIA_SEARCH_KEY = functions.config().algolia.search_key;
const ALGOLIA_INDEX_NAME = 'users';
const client = algoliasearch(ALGOLIA_ID, ALGOLIA_ADMIN_KEY);
// Update the search index every time a blog post is written.
exports.onUserCreated = functions.firestore.document('path').onCreate((snap, context) => {
// Get the note document
const user = snap.data();
// Add an 'objectID' field which Algolia requires
user.objectID = snap.id;
console.log(user.objectID)
// Write to the algolia index
const index = client.initIndex(ALGOLIA_INDEX_NAME);
return index.saveObject(user);
});
显然您的ALGOLIA_ID
或ALGOLIA_ADMIN_KEY
值未定义。您尝试使用函数环境配置中的值,但它似乎不存在。
在终端转到您的firebase项目文件夹并键入
firebase functions:config:get
您应该看到看起来像JSON对象的输出。如果您没有看到algolia
设置,请这样设置:
firebase functions:config:set algolia.app_id="YOUR APP ID" algolia.api_key="YOUR API KEY" algolia.search_key="YOUR SEARCH KEY"
更多信息请点击此处:https://firebase.google.com/docs/functions/config-env