Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public string GetQboInvoices()
- {
- StringBuilder requestXML = new StringBuilder();
- StringBuilder responseXML = new StringBuilder();
- string realmId = "<<SetRealmId>>";
- HttpWebRequest httpWebRequest = WebRequest.Create("https://qbo.sbfinance.intuit.com/resource/invoices/v2/" + realmId) as HttpWebRequest;
- httpWebRequest.Method = "POST";
- httpWebRequest.ContentType = "application/x-www-form-urlencoded";
- httpWebRequest.Headers.Add("Authorization", GetDevDefinedOAuthHeader(httpWebRequest));
- requestXML.Append("PageNum=1&ResultsPerPage=100");
- UTF8Encoding encoding = new UTF8Encoding();
- byte[] content = encoding.GetBytes(requestXML.ToString());
- using (var stream = httpWebRequest.GetRequestStream())
- {
- stream.Write(content, 0, content.Length);
- }
- HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
- using (Stream data = httpWebResponse.GetResponseStream())
- {
- return new StreamReader(data).ReadToEnd();
- }
- }
- protected string GetDevDefinedOAuthHeader(HttpWebRequest webRequest)
- {
- OAuthConsumerContext consumerContext = new OAuthConsumerContext
- {
- ConsumerKey = consumerKey,
- ConsumerSecret = consumerSecret,
- SignatureMethod = SignatureMethod.HmacSha1
- };
- consumerContext.UseHeaderForOAuthParameters = true;
- OAuthSession oSession = new OAuthSession(consumerContext, "https://www.example.com",
- "https://www.example.com",
- "https://www.example.com");
- oSession.AccessToken = new TokenBase
- {
- Token = accessToken,
- ConsumerKey = consumerKey,
- TokenSecret = accessTokenSecret
- };
- IConsumerRequest consumerRequest = oSession.Request();
- consumerRequest = ConsumerRequestExtensions.ForMethod(consumerRequest, webRequest.Method);
- consumerRequest = ConsumerRequestExtensions.ForUri(consumerRequest, webRequest.RequestUri);
- if (webRequest.Headers.Count > 0)
- {
- ConsumerRequestExtensions.AlterContext(consumerRequest, context => context.Headers = webRequest.Headers);
- if (webRequest.Headers[HttpRequestHeader.ContentType] == "application/x-www-form-urlencoded")
- {
- Dictionary<string, string> formParameters = new Dictionary<string, string>{{"PageNum", "1"}, {"ResultsPerPage", "100"}};
- consumerRequest = consumerRequest.WithFormParameters(formParameters);
- }
- }
- consumerRequest = consumerRequest.SignWithToken();
- return consumerRequest.Context.GenerateOAuthParametersForHeader();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement