Пример #1
0
//	$this_url				This is the full URL (e.g. http://path/to/this/file.php) of THIS SCRIPT
//	$that_url				After the user authenticates, they will be forwarded to this URL
//
$IntuitAnywhere = new QuickBooks_IPP_IntuitAnywhere($dsn, $encryption_key, $oauth_consumer_key, $oauth_consumer_secret, $quickbooks_oauth_url, $quickbooks_success_url);
// Are they connected to QuickBooks right now?
if ($IntuitAnywhere->check($the_username, $the_tenant) and $IntuitAnywhere->test($the_username, $the_tenant)) {
    // Yes, they are
    $quickbooks_is_connected = true;
    // Set up the IPP instance
    $IPP = new QuickBooks_IPP($dsn);
    // Get our OAuth credentials from the database
    $creds = $IntuitAnywhere->load($the_username, $the_tenant);
    // Tell the framework to load some data from the OAuth store
    $IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $the_username, $creds);
    if ($sandbox) {
        // Turn on sandbox mode/URLs
        $IPP->sandbox(true);
    }
    // Print the credentials we're using
    //print_r($creds);
    // This is our current realm
    $realm = $creds['qb_realm'];
    // Load the OAuth information from the database
    $Context = $IPP->context();
    // Get some company info
    $CompanyInfoService = new QuickBooks_IPP_Service_CompanyInfo();
    $quickbooks_CompanyInfo = $CompanyInfoService->get($Context, $realm);
} else {
    // No, they are not
    $quickbooks_is_connected = false;
}
<pre>

<?php 
// Set up the IPP instance
$IPP = new QuickBooks_IPP($dsn);
// Get our OAuth credentials from the database
$creds = $IntuitAnywhere->load($the_username, $the_tenant);
// Tell the framework to load some data from the OAuth store
$IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $the_username, $creds);
// Print the credentials we're using
//print_r($creds);
// This is our current realm
$realm = $creds['qb_realm'];
// Load the OAuth information from the database
if ($Context = $IPP->context()) {
    // Set the IPP version to v3
    $IPP->version(QuickBooks_IPP_IDS::VERSION_3);
    $TermService = new QuickBooks_IPP_Service_Term();
    $terms = $TermService->query($Context, $realm, "SELECT * FROM Term");
    //print_r($terms);
    foreach ($terms as $Term) {
        //print_r($Term);
        print 'Term Id=' . $Term->getId() . ' is named: ' . $Term->getName() . '<br>';
    }
    /*
    print("\n\n\n\n");
    print('Request [' . $IPP->lastRequest() . ']');
    print("\n\n\n\n");
    print('Response [' . $IPP->lastResponse() . ']');
    print("\n\n\n\n");
Пример #3
0
 /**
  * Test to see if a connection actually works (make sure you haven't been disconnected on Intuit's end)
  *
  */
 public function test($app_username, $app_tenant)
 {
     if ($creds = $this->load($app_username, $app_tenant)) {
         $IPP = new QuickBooks_IPP();
         $IPP->authMode(QuickBooks_IPP::AUTHMODE_OAUTH, $app_username, $creds);
         if ($Context = $IPP->context()) {
             // Set the DBID
             $IPP->dbid($Context, 'something');
             // Set the IPP flavor
             $IPP->flavor($creds['qb_flavor']);
             // Get the base URL if it's QBO
             if ($creds['qb_flavor'] == QuickBooks_IPP_IDS::FLAVOR_ONLINE) {
                 $cur_version = $IPP->version();
                 $IPP->version(QuickBooks_IPP_IDS::VERSION_3);
                 // Need v3 for this
                 $CustomerService = new QuickBooks_IPP_Service_Customer();
                 $customers = $CustomerService->query($Context, $creds['qb_realm'], "SELECT * FROM Customer MAXRESULTS 1");
                 $IPP->version($cur_version);
                 // Revert back to whatever they set
                 //$IPP->baseURL($IPP->getBaseURL($Context, $creds['qb_realm']));
             } else {
                 $companies = $IPP->getAvailableCompanies($Context);
             }
             //print('[[' . $IPP->lastRequest() . ']]' . "\n\n");
             //print('[[' . $IPP->lastResponse() . ']]' . "\n\n");
             //print('here we are! [' . $IPP->errorCode() . ']');
             // Check the last error code now...
             if ($IPP->errorCode() == 401 or $IPP->errorCode() == 3200) {
                 return false;
             }
             return true;
         }
     }
     return false;
 }