Foros del Web » Programando para Internet » PHP »

Importar contactos gmail

Estas en el tema de Importar contactos gmail en el foro de PHP en Foros del Web. Buenas, desde hace días mi objetivo es conseguir importar los contactos de una cuenta de gmail utilizando PHP. Como no lo conseguía he ido haciendo ...
  #1 (permalink)  
Antiguo 17/08/2016, 14:33
 
Fecha de Ingreso: marzo-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Importar contactos gmail

Buenas,

desde hace días mi objetivo es conseguir importar los contactos de una cuenta de gmail utilizando PHP. Como no lo conseguía he ido haciendo pruebas de distintos tipos para ir avanzando algo.

Mediante la consola de APIs de google he hecho todo lo necesario, crear el proyecto, habilitar las APIs, crean una cuenta de servicio, etc etc. Se que toda esta parte debe estar bien por que el siguiente código funciona (es una de las pruebas que he conseguido que funcione). EL código accede a las API de Books de google:

Código PHP:
<?php

    
require_once 'vendor/autoload.php';


    
$client = new Google_Client();

    
putenv('GOOGLE_APPLICATION_CREDENTIALS=C:\\xampp\\htdocs\\ExportarContactosGoogle\\v3\\Prueba2-985206558dec.json');
    
$client->useApplicationDefaultCredentials();    

    
$client->setApplicationName("Books");
    
    
$client->setScopes(['https://www.googleapis.com/auth/books']);

    
$service = new Google_Service_Books($client);

    
$optParams = array('filter' => 'free-ebooks');
    
$results $service->volumes->listVolumes('Henry David Thoreau'$optParams);
    
?>

<h3>Results Of Call:</h3>
<?php foreach ($results as $item): ?>
  <?= $item['volumeInfo']['title'?>
  <br />
<?php endforeach ?>

Con alguna otra API he conseguido sacar valores tambíen, pero desde que intento hacer los mismo con la API de gmail falla. El código por ejemplo sería:

Código PHP:
<?php

    
require_once 'vendor/autoload.php';

    
$client = new Google_Client();

    
putenv('GOOGLE_APPLICATION_CREDENTIALS=C:\\xampp\\htdocs\\ExportarContactosGoogle\\v4\\Prueba2-9ee13e067343.json');
    
$client->useApplicationDefaultCredentials();    
    
$client->setApplicationName("Prueba2");
    

    
$client->setScopes(['https://mail.google.com/']);
    
    
$services = new Google_Service_Gmail($client);
    
    try {
        
//print_r($services->serviceName);
        
print_r($services->users_labels->get("people/me",array()));

    } catch (
Exception $e) {
        
        print 
'An error occurred: ' $e->getMessage();
        
    } 
  
?>

DOnde el error que obtengo (usando el scripot de arribo u otro parecido que intenta enviar un email) es este:

An error occurred: { "error": "unauthorized_client", "error_description": "Unauthorized client or scope in request." }


Alguna idea de por donde tirar?, esto no me dejará sacar los contactos todavía, pero será un paso adelante para llegar a sacarlos.

Muchas gracias a todos.

Etiquetas: contactos, gmail
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:14.