2016-11-03 13 views
1

WindowsサービスアプリケーションでC#、.Net 4.5を使用すると、データベースにアップロードしてクエリを実行するREST形式のJSONオブジェクトをフォーマットしました。FireNet AccessTokenを使用して.Net WebClientをアップロードする方法

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); 

歓声、FirebaseとC#の相互作用が成功することを可能にする構文のわずかな変化を指摘してGoogleサポートへ

アンディ

+0

'Content-Type'を' application/json'や 'text/plain'に設定しようとしましたか? – wdosanjos

答えて

1

ありがとう:

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

ので使用」あなたのURIとあなたのビジネスの "auth ="ではなく "access_token ="を使用してください。 webClntに設定する必要のある追加の「Webヘッダー」はありません。

「Auth」が使用された場合、401(許可されていない)ではなくhttp 400(不正リクエスト)が返されました。一方、認証の試行がない場合は、401が返されます。

+0

既存のライブラリを使ってみませんか? https://github.com/step-up-labs/firebase-database-dotnetやhttps://github.com/step-up-labs/firebase-authentication-dotnetなどです。 –

関連する問題