条带错误消息405-“;将.json附加到uri以使用RESTAPI;
我正在使用Stripe,并试图向Firebase托管的URL和数据库发送一个测试webhook。当我“发送测试webhook”时,我在条带控制台中收到以下错误消息: 测试Webhook错误:405 “将.json附加到请求URI以使用rest API” 我的代码是教程的直接副本: 以下是我的index.js的代码:条带错误消息405-“;将.json附加到uri以使用RESTAPI;,json,firebase,Json,Firebase,我正在使用Stripe,并试图向Firebase托管的URL和数据库发送一个测试webhook。当我“发送测试webhook”时,我在条带控制台中收到以下错误消息: 测试Webhook错误:405 “将.json附加到请求URI以使用rest API” 我的代码是教程的直接副本: 以下是我的index.js的代码: const functions = require('firebase-functions'); const stripe = require("stripe")(functions
const functions = require('firebase-functions');
const stripe = require("stripe")(functions.config().keys.webhooks);
const admin = require('firebase-admin')
admin.initializeApp();
const endpointSecret = functions.config().keys.signing;
exports.events = functions.https.onRequest((request, response) => {
let sig = request.headers["stripe-signature"];
try {
let event = stripe.webhooks.constructEvent(request.rawBody, sig, endpointSecret)
return admin.database().ref('/events').push(event)
.then((snapshot) => {
return response.json({ received: true, ref: snapshot.ref.toString() })
})
.catch((err) => {
console.error(err)
return response.status(500).end() // error saving to database
})
} catch (err) {
return response.status(400).end() // signing signature failed
}
})
exports.exampleDataBaseTrigger = functions.database.ref('/events/{eventId}').onCreate((snapshot, context) => {
return console.log({
eventId: context.params.eventid,
data: snapshot.val()
})
})
本教程和我的代码中唯一使用.json的时间是在以下行:return response.json({received:true,ref:snapshot.ref.toString()})
我是否应该将.json附加到“request”的某个位置,比如request.RawBody中
签名密钥没有问题,因为这样会产生400条错误消息,我已经处理并修复了这个错误消息
我很乐意在我的应用程序中分享其他文件的代码,但就我所知,其余的都与问题无关。非常感谢。该错误来自对Firebase URL的调用。我建议您查看是否需要在
admin.database().ref('/events')
和/或functions.database.ref('/events/{eventId}')
中附加.json
。它来自对Firebase的调用,这非常有意义,并帮助我理解它。尽管如此,在admin.database().ref('/events')
行中的任何位置追加.json
将得到相同的结果,并将其追加到functions.database.ref('/events/{eventId}')中
导致firebase部署期间出现错误,称functions.json
不是函数。该错误来自对firebase URL的调用。我建议您查看是否需要在admin.database().ref('/events')
和/或functions.database.ref('/events/{eventId}')
中附加.json
。它来自对Firebase的调用,这非常有意义,并帮助我理解它。尽管如此,在admin.database().ref('/events')
行中的任何位置追加.json
将给出相同的结果,并将其追加到functions.database.ref('/events/{eventId}')
中会在firebase部署过程中导致错误,表明functions.json
不是函数。