How to use quick book invoice api in asp.net

帅比萌擦擦* 提交于 2019-12-13 05:11:36

问题


I have a requirement to integerate Quickbook api with my web application. I just created a sample application to accomplish it. I am strange to this I really dont have any idea about how to connect the api or to consume the api.I have mentioned the codes that i have took from ("https://developer.intuit.com/"). I tried by creating an app in the app manager, I have atttached the image FYR. After entering all those details i am not getting "accessTokenSecret" value. Here i just entered the apptoken valuea as accessToken value. Iam getting exception as "Unauthorized" in the service context line. Help me on this.

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Intuit.Ipp.Core;
using Intuit.Ipp.Services;
using Intuit.Ipp.Data;
using Intuit.Ipp.Utility;
using Intuit.Ipp.Security;
using Intuit.Ipp.Data.Qbo;
using Newtonsoft.Json;

namespace QuickBookApiConsumption
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnsendInvoiceDetails_Click(object sender, EventArgs e)
        {
            string accessToke = "";
            string appToken = "297db54bb5526b494dba97fb2a41063192cd";
            string accessTokenSecret = "297db54bb5526b494dba97fb2a41063192cd";
            string consumerKey = "qyprdMSG1YHpCPSlWQZTiKVc78dywR";
            string consumerSecret = "JPfXE17YnCPGU9m9vuXkF2M765bDb7blhcLB7HeF";
            string companyID = "812947125";
            OAuthRequestValidator oauthValidator = new OAuthRequestValidator(appToken, accessTokenSecret, consumerKey, consumerSecret);
            ServiceContext context = new ServiceContext(oauthValidator, appToken, companyID, IntuitServicesType.QBO);
            DataServices service = new DataServices(context);
            Invoice os = new Invoice();
            Intuit.Ipp.Data.Qbo.InvoiceHeader o = new Intuit.Ipp.Data.Qbo.InvoiceHeader();
            o.CustomerName = "Viki";
            o.CustomerId = new Intuit.Ipp.Data.Qbo.IdType { Value = "12" };
            o.ShipMethodName = "Email";
            o.SubTotalAmt = 3.00m;
            o.TotalAmt = 6.00m;
            o.ShipAddr = new Intuit.Ipp.Data.Qbo.PhysicalAddress { City = "Chni" };

        }
    }
}

Image:


回答1:


You should check if you are using correct BASE URL https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/0100_calling_data_services/0010_getting_the_base_url

Using some RESTClient[ ex - RestClient plugin of mozilla browser], verify the OAuth tokens.

Header(content-type) config window.

You can use the following

 public void ConnectUsingAuth()
    {
        string accessToken = ConfigurationManager.AppSettings["AccessTokenQBD"];
        string accessTokenSecret = ConfigurationManager.AppSettings["access-secret"];
        string consumerKey = ConfigurationManager.AppSettings["consumerKey"];
        string consumerKeySecret = ConfigurationManager.AppSettings["consumerSecret"];
        string URI = "https://apiend-point";
        WebRequest webRequest = WebRequest.Create(URI);
        webRequest.Headers.Add("ContentType", "text/xml");
        OAuthRequestValidator target = new OAuthRequestValidator(accessToken, accessTokenSecret, consumerKey, consumerKeySecret);
    }

Or [ Better option ] You can download the sample program from github and configure the web.config(with proper consumer key and secret)

https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/sample_code

You can test all these API endpoints using APIExplorer tool.

Docs - https://developer.intuit.com/docs/0025_quickbooksapi/0010_getting_started/0007_firstrequest ApiExplorer - https://developer.intuit.com/apiexplorer?apiname=V2QBO

Thanks



来源:https://stackoverflow.com/questions/19179133/how-to-use-quick-book-invoice-api-in-asp-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!