2015-06-09 4 views
0

QuickBooks имеет собственные библиотеки SDK, которые могут легко помочь общаться между сторонними лицами. Но размер их библиотеки составляет около 6 МБ, что огромно для простой интеграции API.Интеграция OAuth с QuickBooks с использованием Scribe

После того, как вы искали и находили решение с помощью Scribe, я решил опубликовать его, чтобы другие разработчики могли его использовать.

Поддержка intuit не поможет вам с этим и не исправит их документ.

Так в основном концерн, как интегрировать с Quickbooks использованием Scribe

ответ

0

БИБЛИОТЕКА: писец-1.3.5.jar

public class QBOAuthDemo { 
    private static String CONSUMER_KEY = "<Consumer_Key>"; 
    private static String CONSUMER_SECRET ="<Consumer_Secret>"; 
    private static String TOKEN = "<Token>"; 
    private static String TOKEN_SECRET = "<Token_Secret>"; 
    private static String API_END_URL = "https://sandbox-quickbooks.api.intuit.com/v3"; 

public static void main(String[] args) throws IOException { 
     OAuthService qbService = new ServiceBuilder() 
       .provider(QuickBooksAPI.class) 
       .apiKey(CONSUMER_KEY) 
       .apiSecret(CONSUMER_SECRET) 
       .debug()  //In order to Debug and view in Console 
       .callback("http://localhost:8080") 
       .build(); 
     Token tokenAccess = new Token(TOKEN, TOKEN_SECRET); 
     System.out.println("Token Access = "+tokenAccess); 

     OAuthRequest request = new OAuthRequest(Verb.GET, API_END_URL+"/company/<YOUR-COMPANYID>/customer/<customerid>"); 
     qbService.signRequest(tokenAccess, request); 
     request.addHeader("Content-Type","application/xml"); 
     Response response = request.send(); 
     System.out.println(response.getBody()); 
    } 
} 

Это будет просто подключить и получить информацию Клиента в виде из XML (также поддерживает JSON)

ответ вы будете получать в качестве

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<IntuitResponse 
    xmlns="http://schema.intuit.com/finance/v3" time="2015-06-09T06:07:39.787-07:00"> 
    <Customer domain="QBO" sparse="false"> 
     <Id>64</Id> 
     <SyncToken>1</SyncToken> 
     <MetaData> 
      <CreateTime>2015-06-09T03:18:00-07:00</CreateTime> 
      <LastUpdatedTime>2015-06-09T03:18:15-07:00</LastUpdatedTime> 
     </MetaData> 
     <Title>Mr</Title> 
     <GivenName>DummyIND</GivenName> 
     <MiddleName>B</MiddleName> 
     <FamilyName>IND</FamilyName> 
     <FullyQualifiedName>IND King Crafts</FullyQualifiedName> 
     <CompanyName>IND King Crafts</CompanyName> 
     <DisplayName>IND King Crafts</DisplayName> 
     <PrintOnCheckName>IND King Crafts</PrintOnCheckName> 
     <Active>true</Active> 
     <PrimaryPhone> 
      <FreeFormNumber>(000) 555-5555</FreeFormNumber> 
     </PrimaryPhone> 
     <Mobile> 
      <FreeFormNumber>555-5555-6666</FreeFormNumber> 
     </Mobile> 
     <PrimaryEmailAddr> 
      <Address>[email protected]</Address> 
     </PrimaryEmailAddr> 
     <DefaultTaxCodeRef>2</DefaultTaxCodeRef> 
     <Taxable>true</Taxable> 
     <BillAddr> 
      <Id>96</Id> 
      <Line1>123 Main Street</Line1> 
      <City>Mountain View</City> 
      <Country>USA</Country> 
      <CountrySubDivisionCode>CA</CountrySubDivisionCode> 
      <PostalCode>94042</PostalCode> 
      <Lat>37.37982969999999</Lat> 
      <Long>-122.114632</Long> 
     </BillAddr> 
     <ShipAddr> 
      <Id>97</Id> 
      <Line1>123 Main Street</Line1> 
      <City>Mountain View</City> 
      <Country>IND</Country> 
      <CountrySubDivisionCode>CA</CountrySubDivisionCode> 
      <PostalCode>94042</PostalCode> 
      <Lat>36.168973</Lat> 
      <Long>-96.173524</Long> 
     </ShipAddr> 
     <Notes>Here are other details.</Notes> 
     <Job>false</Job> 
     <BillWithParent>false</BillWithParent> 
     <Balance>0</Balance> 
     <BalanceWithJobs>0</BalanceWithJobs> 
     <CurrencyRef name="United States Dollar">USD</CurrencyRef> 
     <PreferredDeliveryMethod>Print</PreferredDeliveryMethod> 
    </Customer> 
</IntuitResponse> 

Класс файл для QuickBooksAPI.JAVA

import org.scribe.builder.api.DefaultApi10a; 
import org.scribe.model.Token; 

public class QuickBooksAPI extends DefaultApi10a{ 

    @Override 
    public String getAccessTokenEndpoint() { 
     return "https://oauth.intuit.com/oauth/v1/get_access_token"; 
    } 

    @Override 
    public String getAuthorizationUrl(Token requestToken) { 
     String str = String.format("https://appcenter.intuit.com/connect/begin?oauth_token=%s",requestToken.getToken()); 
     return str; 
    } 

    @Override 
    public String getRequestTokenEndpoint() { 
     return "https://oauth.intuit.com/oauth/v1/get_request_token"; 
    } 
} 

поддержка QuickBooks HMAC-SHA1 Signature, который автоматически обрабатывает Скриба. Для выполнения пакетной операции вы можете обратиться по адресу: QUICKBOOKS BATCHOPERATION