Saturday, 20 April 2013

Get the Gmail Contacts using PHP



error_reporting (E_ALL);

$user = 'YOUR EMAIL'
$password ='YOUR PASSWORD';


// step 1: login
$login_url = "https://www.google.com/accounts/ClientLogin";
$fields = array (
'Email' => $user,
'Passwd' => $password,
'service' => 'cp', // <== contact list service code
'source' => 'test-google-contact-grabber',
'accountType' => 'GOOGLE',
);

$curl = curl_init ();
curl_setopt ($curl, CURLOPT_URL,$login_url);
curl_setopt ($curl, CURLOPT_POST, 1);
curl_setopt ($curl, CURLOPT_POSTFIELDS,$fields);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);

$returns = array ();

foreach (explode ("\n",$result) as $line)
{
$line = trim ($line);
if (!$line) continue;
list ($k,$v) = explode ("=",$line,2);

$returns[$k] = $v;
}

curl_close ($curl);

// step 2: grab the contact list
$feed_url = "http://www.google.com/m8/feeds/contacts/$user/full?alt=json&max-results=250";

$header = array (
'Authorization: GoogleLogin auth=' . @$returns['Auth'],
);

$curl = curl_init ();
curl_setopt ($curl, CURLOPT_URL, $feed_url);
curl_setopt ($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec ($curl);
curl_close ($curl);

$data = json_decode ($result);

$contacts = array ();

//NOW CHECK IF THE ENTRY IS EXIST OR NOT
if(isset($data->feed->entry)){
foreach ($data->feed->entry as $entry)
{
$contact = new stdClass();
//$contact->title = $entry->title->{'$t'};
if(isset($entry->{'gd$email'}[0]->address)){
$contact->email = $entry->{'gd$email'}[0]->address;

$contacts[] = $contact;}
}
     echo '<pre>';
 print_r($contacts);
 echo '</pre>';exit;

 }else
 //show the error
print_r($data->feed);

No comments:

Post a Comment