2016-11-03 73 views
1

在Windows服務應用程序中使用C#,.Net 4.5,REST格式化的JSON對象希望上傳到並查詢數據庫。如何使用.Net WebClient上傳字符串使用Firebase AccessToken

我試圖找出連接到Firebase所需的URI的正確語法,使用WebClient.UploadString(),我已經成功地將以下代碼用於上傳到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); 

歡呼聲,

安迪

+0

您是否嘗試將'Content-Type'設置爲'application/json'或'text/plain'? – wdosanjos

回答

1

感謝您指出在語法上略有變化,允許與火力地堡的C#互動成功谷歌支持:

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

因此,使用「 access_token =「而不是」auth =「在你的URI和你的業務。 webClnt中不需要額外的'網頁標題'。

注意何時使用「身份驗證」http 400(錯誤的請求)被返回而不是401(未授權)。如果沒有嘗試進行身份驗證,則返回401。

+0

爲什麼你不使用現有的庫?如https://github.com/step-up-labs/firebase-database-dotnet和https://github.com/step-up-labs/firebase-authentication-dotnet –