Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
条带错误消息405-“;将.json附加到uri以使用RESTAPI;_Json_Firebase - Fatal编程技术网

条带错误消息405-“;将.json附加到uri以使用RESTAPI;

条带错误消息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

我正在使用Stripe,并试图向Firebase托管的URL和数据库发送一个测试webhook。当我“发送测试webhook”时,我在条带控制台中收到以下错误消息:

测试Webhook错误:405

“将.json附加到请求URI以使用rest API”

我的代码是教程的直接副本:

以下是我的index.js的代码:

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
不是函数。