Google API - Get Contact List Using PHP

I want to get GMail's contact list on my website using PHP.

And the tutorial that I referenced here

CODE:

<?php // disable warnings if (version_compare(phpversion(), "5.3.0", ">=") == 1) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); else error_reporting(E_ALL & ~E_NOTICE); $sClientId = '564766218700- fgtj5fba9h15g8na4khdho1uavo0rtjq.apps.googleusercontent.com'; $sClientSecret = 'GldOKp2S2ABdp-7owp3ZO_cE'; $sCallback = 'http://localhost/GmailContact/index.php'; // callback url, don't forget to change it to your! $iMaxResults = 20; // max results $sStep = 'auth'; // current step // include GmailOath library https://code.google.com/p/rspsms/source/browse/trunk /system/plugins/GmailContacts/GmailOath.php?r=11 include_once('GmailOath.php'); session_start(); // prepare new instances of GmailOath and GmailGetContacts $oAuth = new GmailOath($sClientId, $sClientSecret, $argarray, false, $sCallback); $oGetContacts = new GmailGetContacts(); if ($_GET && $_GET['oauth_token']) { $sStep = 'fetch_contacts'; // fetch contacts step // decode request token and secret $sDecodedToken = $oAuth->rfc3986_decode($_GET['oauth_token']); $sDecodedTokenSecret = $oAuth->rfc3986_decode($_SESSION['oauth_token_secret']); // get 'oauth_verifier' $oAuthVerifier = $oAuth->rfc3986_decode($_GET['oauth_verifier']); // prepare access token, decode it, and obtain contact list $oAccessToken = $oGetContacts->get_access_token($oAuth, $sDecodedToken, $sDecodedTokenSecret, $oAuthVerifier, false, true, true); $sAccessToken = $oAuth->rfc3986_decode($oAccessToken['oauth_token']); $sAccessTokenSecret = $oAuth->rfc3986_decode($oAccessToken['oauth_token_secret']); $aContacts = $oGetContacts->GetContacts($oAuth, $sAccessToken, $sAccessTokenSecret, false, true, $iMaxResults); // turn array with contacts into html string $sContacts = $sContactName = ''; foreach($aContacts as $k => $aInfo) { $sContactName = end($aInfo['title']); $aLast = end($aContacts[$k]); foreach($aLast as $aEmail) { $sContacts .= '<p>' . $sContactName . '(' . $aEmail['address'] . ')</p>'; } } } else { // prepare access token and set it into session $oRequestToken = $oGetContacts->get_request_token($oAuth, false, true, true); $_SESSION['oauth_token'] = $oRequestToken['oauth_token']; $_SESSION['oauth_token_secret'] = $oRequestToken['oauth_token_secret']; } ?> <!DOCTYPE html> <html lang="en" > <head> <meta charset="utf-8" /> <title>Google API - Get contact list | Script Tutorials</title> <link href="css/main.css" rel="stylesheet" type="text/css" /> </head> <body> <header> <h2>Google API - Get contact list</h2> <a href="http://www.script-tutorials.com/google-api-get-contact-list/" class="stuts">Back to original tutorial on <span>Script Tutorials</span></a> </header> <img src="oauthLogo.png" class="google" alt="google" /> <?php if ($sStep == 'auth'): ?> <center> <h1>Step 1. OAuth</h1> <h2>Please click <a href="https://www.google.com/accounts /OAuthAuthorizeToken?oauth_token=<?php echo $oAuth->rfc3986_decode($oRequestToken['oauth_token']) ?>">this link</a> in order to get access token to receive contacts</h2> </center> <?php elseif ($sStep == 'fetch_contacts'): ?> <center> <h1>Step 2. Results</h1> <br /> <?= $sContacts ?> </center> <?php endif ?> 

I encounter an error, for example:

Missing OAuth token parameter. That is all we know.

Questions: 1. How to get the OAuth access token?

Please help me.

+6
source share
1 answer

There are several ways to request an access token, and they depend on the type of application you are using.

For example, a JavaScript application can request an access token by using browser redirection to Google, and an application installed on a device without a browser uses web service requests.

Some requests require an authentication step where the user logs into their Google account. After logging in, the user asks if they are ready to grant the permissions requested by your application. This process is called user agreement.

If the user grants permission, the Google Authentication Server sends your application an access token (or an authorization code that the application can use to obtain an access token). If the user does not grant permission, the server returns an error.

Here is the link for the oauth playground, which helps to understand the concepts of Oauth .

Also check out this link for the contacts API.

0
source

Source: https://habr.com/ru/post/979031/


All Articles