2017-02-07 39 views
1

Windowsフォームからのリクエストをクイックブックサーバーに送信しようとしていますが、エラーが表示されます。何ができますか。 。あなたはIntuitのサービスにアクセスするためにHTTP Basic許可を使用しようとしているエラー "リモートサーバーからエラーが返されました:(400)Bad Request"

var oAuthConsumerKey = ""; 
var oAuthConsumerSecret = ""; 
var oAuthUrl ="https://quickbooks.api.intuit.com/v3/company/<companyid>/invoice?minorversion=4"; 

    // Do the Authenticate 
var authHeaderFormat = "Basic {0}"; 

var authHeader = string.Format(authHeaderFormat,Convert.ToBase64String(Encoding.UTF8.GetBytes(Uri.EscapeDataString(oAuthConsumerKey) + ":"+Uri.EscapeDataString((oAuthConsumerSecret))))); 

    string text = System.IO.File.ReadAllText("text file"); 
    // var postBody = "grant_type=client_credentials"; 

    HttpWebRequest authRequest = (HttpWebRequest)WebRequest.Create(oAuthUrl); 
    authRequest.Headers.Add("Authorization", authHeader); 
    authRequest.Method = "POST"; 
    authRequest.ContentType = "application/x-www-form-urlencoded"; 
    authRequest.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 7.1; Trident/5.0)"; 
    authRequest.Accept = "/"; 
    authRequest.UseDefaultCredentials = true; 
    authRequest.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials; 
    authRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; 

    using (Stream stream = authRequest.GetRequestStream()) 
    { 
     byte[] content = ASCIIEncoding.ASCII.GetBytes(text); 
     stream.Write(content, 0, content.Length); 
    } 

    authRequest.Headers.Add("Accept-Encoding", "gzip"); 

    WebResponse authResponse = authRequest.GetResponse(); 

答えて

1

var authHeaderFormat = "Basic {0}"; 

var authHeader = string.Format(authHeaderFormat,Convert.ToBase64String(Encoding.UTF8.GetBytes(Uri.EscapeDataString(oAuthConsumerKey) + ":"+Uri.EscapeDataString((oAuthConsumerSecret))))); 

インテュイットはHTTP Basic認証をサポートしていない は、ここで私は要求を作成しようとしているコードです。 IntuitはOAuthをサポートしています。

あなたはドキュメントを読みましたか? Intuitのウェブサイトから:

The QuickBooks API uses OAuth 1.0 to give apps access to data in a user's QuickBooks company.

あなたがここにも公式のOAuthの仕様を参照することができ

は、私はあなたがすでにこのようなもののすべてを実装したライブラリを使用することをお勧めしますあなたのために。

:Intuit社は、同社のウェブサイト上でいくつかのリンク
関連する問題