<?php use XeroPHP\Application\PartnerApplication; use XeroPHP\Remote\Request; use XeroPHP\Remote\URL; // Start a session for the oauth session storage session_start(); //These are the minimum settings - for more options, refer to examples/config.php $config = array('oauth' => array('callback' => 'http://localhost/', 'consumer_key' => 'k', 'consumer_secret' => 's', 'rsa_private_key' => 'file://certs/privatekey.pem'), 'curl' => array(CURLOPT_CAINFO => 'certs/ca-bundle.crt', CURLOPT_SSLCERT => 'certs/entrust-cert.pem', CURLOPT_SSLKEYPASSWD => '1234', CURLOPT_SSLKEY => 'certs/entrust-private.pem')); $xero = new PartnerApplication($config); $oauth_session = getOAuthSession(); // If no session found if ($oauth_session === null) { $url = new URL($xero, URL::OAUTH_REQUEST_TOKEN); $request = new Request($xero, $url); //Here's where you'll see if your keys are valid. You can catch a BadRequestException. try { $request->send(); } catch (Exception $e) { echo $e->getCode(); print_r($request->getResponse()->getOAuthResponse()); } $oauth_response = $request->getResponse()->getOAuthResponse(); setOAuthSession($oauth_response['oauth_token'], $oauth_response['oauth_token_secret']); printf('<a href="%s?oauth_token=%s">Click here to Authorize</a>', $xero->getAuthorizeURL(), $oauth_response['oauth_token']); exit; } elseif (isset($oauth_session['session_handle']) && !isset($oauth_session['expires'])) { // If session is expired refresh the token $url = new URL($xero, URL::OAUTH_ACCESS_TOKEN); $request = new Request($xero, $url); $request->setParameter('oauth_token', $oauth_session['token']);
<?php use XeroPHP\Application\PartnerApplication; use XeroPHP\Remote\Request; use XeroPHP\Remote\URL; // Start a session for the oauth session storage session_start(); //These are the minimum settings - for more options, refer to examples/config.php $config = array('oauth' => array('callback' => 'http://localhost/', 'consumer_key' => 'k', 'consumer_secret' => 's', 'rsa_private_key' => 'file://certs/privatekey.pem'), 'curl' => array(CURLOPT_CAINFO => 'certs/ca-bundle.crt', CURLOPT_SSLCERT => 'certs/entrust-cert.pem', CURLOPT_SSLKEYPASSWD => '1234', CURLOPT_SSLKEY => 'certs/entrust-private.pem')); $xero = new PartnerApplication($config); $oauth_session = getOAuthSession(); // If no session found if ($oauth_session === null) { $url = new URL($xero, URL::OAUTH_REQUEST_TOKEN); $request = new Request($xero, $url); //Here's where you'll see if your keys are valid. You can catch a BadRequestException. try { $request->send(); } catch (Exception $e) { echo $e->getCode(); print_r($request->getResponse()->getOAuthResponse()); } $oauth_response = $request->getResponse()->getOAuthResponse(); setOAuthSession($oauth_response['oauth_token'], $oauth_response['oauth_token_secret']); printf('<a href="%s">Click here to Authorize</a>', $xero->getAuthorizeURL($oauth_response['oauth_token'])); exit; } elseif (isset($oauth_session['session_handle']) && !isset($oauth_session['expires'])) { // If session is expired refresh the token $url = new URL($xero, URL::OAUTH_ACCESS_TOKEN); $request = new Request($xero, $url); $request->setParameter('oauth_token', $oauth_session['token']);