1. Go to this page and download the library: Download bybrand/oauth2-zohodesk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bybrand / oauth2-zohodesk example snippets
use Bybrand\OAuth2\Client\Provider\ZohoDesk as ProviderZohoDesk;;
use League\OAuth2\Client\Provider\Exception\IdentityProviderException;
$params = $_GET;
$provider = new ProviderZohoDesk([
'clientId' => 'key-id',
'clientSecret' => 'secret-key',
'redirectUri' => 'your-url-redirect',
]);
if (!empty($params['error'])) {
// Got an error, probably user denied access
$message = 'Got error: ' . htmlspecialchars($params['error'], ENT_QUOTES, 'UTF-8');
// Return error.
echo $message;
}
if (!isset($params['code']) or empty($params['code'])) {
// If we don't have an authorization code then get one
$authorizationUrl = $provider->getAuthorizationUrl([
'scope' => [
'Desk.basic.READ',
]
]);
// Get state and store it to the session
$_SESSION['oauth2state'] = $provider->getState();
header('Location: '.$authorizationUrl);
exit;
// Check given state against previously stored one to mitigate CSRF attack
} elseif (empty($params['state']) || ($params['state'] !== $_SESSION['oauth2state'])) {
unset($_SESSION['oauth2state']);
// Set error and redirect.
echo 'Invalid stage';
} else {
try {
// Try to get an access token (using the authorization code grant)
$token = $provider->getAccessToken('authorization_code', [
'code' => $params['code']
]);
// Retriave a first Zoho Desk organization.
$organization = $provider->getResourceOwner($token);
} catch (IdentityProviderException $e) {
// Error, HTTP code Status
} catch (\Exception $e) {
// Error, make redirect or message.
}
// Save organization data.
$id = $organization->getId(),
$name = $organization->getOrganizationName(),
// Use this to interact with an API on the users behalf
echo $token->getToken();
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.