我正在尝试使用REST API将数据从C#保存到我的Firebase数据库。当我尝试保存数据时(尝试保存到列表中),我收到403错误。我能够从angular(使用AngularFyre)将数据保存到此列表中,但每次尝试使用REST api时都会得到403。我的数据库使用默认规则进行设置,当前允许对所有内容进行读写操作,这似乎可以通过我可以从Angular中保存来证明。
我发布的网址看起来像https:// [mydb] .firebaseio.com / subscriptions。这是我正在使用的代码:
void SaveToFirebase<T>(T objectToSave, string url)
{
var request = WebRequest.Create(url);
request.Method = "PUT";
request.ContentType = "application/json";
var stream = request.GetRequestStream();
using (var streamWriter = new StreamWriter(stream))
{
var serializedData = jsonSerializer.Serialize(objectToSave, true);
streamWriter.Write(serializedData);
streamWriter.Close();
}
stream.Close();
using (var response = request.GetResponse())
{
ThrowIfHttpSaveRequestFailed(request, response);
}
}
答案 0 :(得分:0)
我发现问题在于我根本没有将.json包含在我的网址中。所以给我403的URL看起来像这个https:// [mydb] .firebaseio.com / subscriptions / id,它需要看起来像这样:ttps:// [mydb] .firebaseio.com / subscriptions / id以.json。这解决了403问题。