如何使用.net WebClient上传字符串使用Firebase AccessToken

本文关键字:Firebase AccessToken 字符串 何使用 net WebClient | 更新日期: 2023-09-27 18:16:08

在Windows Service应用程序中使用c#, . net 4.5,希望上传和查询数据库的REST格式JSON对象。

我试图找出使用WebClient.UploadString()连接到Firebase所需的URI的正确语法,我在上传到GAS数据库之前成功地使用了下面的代码。但我们现在正在迁移到Firebase。我已经设法使用OAuth2 API动态获取访问令牌,并且可能需要将其包含在方法调用中使用的URI中。有没有人有一个小片段(S)的代码与文字字符串,以便我可以看到正确的语法?我也怀疑头可能需要不同的值?

WebClient webClnt = new WebClient();
webClnt.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
string result = 
   webClnt
      .UploadString(
          new Uri("https://myfirebaseDB123.firebaseio.com/????"),
          JSONObjectStr);

欢呼,安迪

如何使用.net WebClient上传字符串使用Firebase AccessToken

感谢Google的支持,它指出了语法上的细微变化,使c#与Firebase的交互能够成功:

var connectionString = FirebaseServerURL + ".json?access_token=" + accessToken;
var webClnt = new WebClient();
result = webClnt.UploadString(connectionString, "PATCH", data); 

所以在你的URI和你的业务中使用"access_token="而不是"auth="。不需要在webClnt中设置额外的'web headers' .

注意当使用"Auth"时返回的是http 400(错误请求)而不是401(未授权)。而如果不尝试身份验证,则返回401。