/** * Function to connect to Exact, this creates the client and automatically retrieves oAuth tokens if needed * * @return \Picqer\Financials\Exact\Connection * @throws Exception */ function connect() { $connection = new \Picqer\Financials\Exact\Connection(); $connection->setRedirectUrl('__REDIRECT_URL__'); $connection->setExactClientId('__CLIENT_ID__'); $connection->setExactClientSecret('__CLIENT_SECRET__'); // Retrieves authorizationcode from database if (getValue('authorizationcode')) { $connection->setAuthorizationCode(getValue('authorizationcode')); } // Retrieves accesstoken from database if (getValue('accesstoken')) { $connection->setAccessToken(getValue('accesstoken')); } // Retrieves refreshtoken from database if (getValue('refreshtoken')) { $connection->setRefreshToken(getValue('refreshtoken')); } // Retrieves expires timestamp from database if (getValue('expires_in')) { $connection->setTokenExpires(getValue('expires_in')); } // Set callback to save newly generated tokens $connection->setTokenUpdateCallback('tokenUpdateCallback'); // Make the client connect and exchange tokens try { $connection->connect(); } catch (\Exception $e) { throw new Exception('Could not connect to Exact: ' . $e->getMessage()); } return $connection; }
/** * Function to connect to Exact, this creates the client and automatically retrieves oAuth tokens if needed * * @return \Picqer\Financials\Exact\Connection * @throws Exception */ function connect() { $connection = new \Picqer\Financials\Exact\Connection(); $connection->setRedirectUrl('__REDIRECT_URL__'); $connection->setExactClientId('__CLIENT_ID__'); $connection->setExactClientSecret('__CLIENT_SECRET__'); if (getValue('authorizationcode')) { $connection->setAuthorizationCode(getValue('authorizationcode')); } if (getValue('accesstoken')) { $connection->setAccessToken(getValue('accesstoken')); } if (getValue('refreshtoken')) { $connection->setRefreshToken(getValue('refreshtoken')); } if (getValue('expires_in')) { $connection->setTokenExpires(getValue('expires_in')); } // Make the client connect and exchange tokens try { $connection->connect(); } catch (\Exception $e) { throw new Exception('Could not connect to Exact: ' . $e->getMessage()); } // Save the new tokens for next connections setValue('accesstoken', $connection->getAccessToken()); setValue('refreshtoken', $connection->getRefreshToken()); // Save expires time for next connections setValue('expires_in', $connection->getTokenExpires()); return $connection; }