134 lines
3.7 KiB
PHP
Executable File
134 lines
3.7 KiB
PHP
Executable File
<?php
|
|
|
|
// use QuickBooksOnline\API\DataService\DataService;
|
|
|
|
// session_start();
|
|
|
|
// function processCode()
|
|
// {
|
|
// // Create SDK instance
|
|
// $config = include('config.php');
|
|
// $dataService = DataService::Configure(array(
|
|
// 'auth_mode' => 'oauth2',
|
|
// 'ClientID' => $config['INV_CLIENT_ID'],
|
|
// 'ClientSecret' => $config['INV_CLIENT_SECRET'],
|
|
// 'RedirectURI' => $config['oauth_redirect_uri'],
|
|
// 'scope' => $config['INV_SCOPE'],
|
|
// 'baseUrl' => "development"
|
|
// ));
|
|
// $OAuth2LoginHelper = $dataService->getOAuth2LoginHelper();
|
|
// $parseUrl = parseAuthRedirectUrl($_SERVER['QUERY_STRING']);
|
|
|
|
// /*
|
|
// * Update the OAuth2Token
|
|
// */
|
|
// $accessToken =
|
|
// $OAuth2LoginHelper->exchangeAuthorizationCodeForToken($parseUrl['code'],
|
|
// $parseUrl['realmId']);
|
|
// $dataService->updateOAuth2Token($accessToken);
|
|
|
|
// /*
|
|
// * Setting the accessToken for session variable
|
|
// */
|
|
// $_SESSION['sessionAccessToken'] = $accessToken;
|
|
// }
|
|
// function parseAuthRedirectUrl($url)
|
|
// {
|
|
// parse_str($url,$qsArray);
|
|
// return array(
|
|
// 'code' => $qsArray['code'],
|
|
// 'realmId' => $qsArray['realmId']
|
|
// );
|
|
// $result = processCode();
|
|
// }
|
|
|
|
|
|
function get_INV_Info($code){
|
|
//die;
|
|
$uri = 'https://appcenter.intuit.com/'.$code;
|
|
|
|
//Create Token Start
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_POST, TRUE);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
|
|
'auth_mode' => 'oauth2',
|
|
'ClientID' => INV_CLIENT_ID,
|
|
'ClientSecret' => INV_CLIENT_SECRET,
|
|
'RedirectURI' => oauth_redirect_uri,
|
|
'scope' => INV_SCOPE,
|
|
'baseUrl' => "development"
|
|
));
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // set curl without result echo
|
|
$result = curl_exec($ch);
|
|
curl_close($ch);
|
|
|
|
$json_array = (json_decode($result, true));
|
|
$token = $json_array['access_token'];
|
|
$_SESSION['token'] = $token;
|
|
//Create Token END
|
|
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, $uri);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
|
'Authorization: Bearer '.$token,
|
|
'Accept: application/json',
|
|
'content-type: application/json'
|
|
|
|
|
|
));
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // set curl without result echo
|
|
$api_response = curl_exec($ch);
|
|
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
curl_close($ch);
|
|
|
|
//return $http_code;
|
|
$res=json_decode($api_response);
|
|
$i=0;
|
|
foreach($res->destinationEntities as $enty){
|
|
//print_r($enty);die;
|
|
|
|
$output[$i]['id']=$enty->CompanyAddr->id;
|
|
$output[$i]['title']=$enty->CompanyName;
|
|
$i++;
|
|
}
|
|
return $output;
|
|
}
|
|
function makeAPICall()
|
|
{
|
|
|
|
// Create SDK instance
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_POST, TRUE);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
|
|
'auth_mode' => 'oauth2',
|
|
'ClientID' => INV_CLIENT_ID,
|
|
'ClientSecret' => INV_CLIENT_SECRET,
|
|
'RedirectURI' => oauth_redirect_uri,
|
|
'scope' => INV_SCOPE,
|
|
'baseUrl' => "development"
|
|
));
|
|
|
|
/*
|
|
* Retrieve the accessToken value from session variable
|
|
*/
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // set curl without result echo
|
|
$result = curl_exec($ch);
|
|
curl_close($ch);
|
|
|
|
$json_array = (json_decode($result, true));
|
|
$token = $json_array['access_token'];
|
|
$_SESSION['token'] = $token;
|
|
$accessToken = $_SESSION['token'];
|
|
|
|
/*
|
|
* Update the OAuth2Token of the dataService object
|
|
*/
|
|
$dataService->updateOAuth2Token($accessToken);
|
|
$companyInfo = $dataService->getCompanyInfo();
|
|
|
|
//print_r($companyInfo);
|
|
return $companyInfo;
|
|
}
|
|
|
|
|
|
?>
|