2017-11-24 6 views
0

APIを使用してcoinfloorからの残高を取得しようとしています。 認証されていない/パブリックなGETレスポンスを正常に解析できましたが、 。 401、のreasonPhrase:HttpClientを使用した単純なAPI投稿

は現在、私はのStatusCode取得私はデフォルトの認証ヘッダの両方を使用してFormUrlEncodedContentでデータを送信しようとした

class Program 
    { 
     static HttpClient client = new HttpClient(); 

    static void Main() 
     { 
      RunAsync().Wait(); 
     } 

     static async Task RunAsync() 
     { 
      client.BaseAddress = new Uri("https://webapi.coinfloor.co.uk:8090/bist/XBT/GBP/balance/"); 
      client.DefaultRequestHeaders.Authorization= new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "userID/apikey", "passphrase")))); 

      var content = new FormUrlEncodedContent(new[] 
        { 
         new KeyValuePair<string, string>("User ID","userid"), 
         new KeyValuePair<string, string>("API key","apikey"), 
         new KeyValuePair<string, string>("Passphrase","pass") 

        }); 
      try 
      { 

        var result = await client.PostAsync("https://webapi.coinfloor.co.uk:8090/bist/XBT/GBP/balance/", content); 
        string resultContent = await result.Content.ReadAsStringAsync(); 

      } 

'無断'。 documentationには「すべてのプライベートAPI呼び出しに認証が必要です。ユーザーID、APIキー、パスフレーズ」という3つのパラメータを指定する必要があります。

私は間違っていますか?

リクエストに他の追加パラメータをどのように送信する必要がありますか?

+0

あなたのリクエストを見て、期待どおりに見えるように傷つけることはありません。 – Evk

+0

ユーザID、api鍵とパスフレーズ、または文字列値 "userID/apikey"と "passphrase"の実際の値を送信していますか? –

+0

TobiasとEvkに感謝します。コードに正しい値があります。この記事のために編集しました。要求ヘッダーの下でフリードラーで正しい要求がどのように見えるかを調べようとしていますが、私には正しいヘッダーであるFormUrlEncodedContentの値を含む標準ヘッダーと追加の文字列が表示されます – user289829

答えて

0

実際にはコードが正しいと言えば、さまざまなIDとパスワードで間違いがありました。

関連する問題