Google API PHP Client - Service Contacts
J'ai, après des heures de profond, profond de la douleur, a finalement obtenu un peu plus près à la configuration et à l'utilisation de l'API Google Client PHP, à l'aide de ce tutoriel (basé sur l'analyse).
Alors, maintenant, j'ai enfin auth mon auto, d'une manière qui semble légitime et officiel. Mon naturel pensée a été qu'il existerait un contrib/Google_ContactsService.php
, mais à ma grande surprise, il n'est nulle part à trouver amogst les 32 autres classes de service.
J'ai envie de revenir à zéro. Est-il possible que je peut - legit et officiellement - chercher un utilisateur contacts? (des tonnes de tutoriels là-bas, mais tous obsolète et hacky).
EDIT: je remarque qu'il s'agit d'une nouvelle version de la bibliothèque disponible ici, mais il n'y a pas encore toutes les "Contacts" de service pour être trouvé dans les .../Service/dossier
EDIT:
Mes progrès jusqu'à présent. Les dernières lignes ne parvient pas à la réponse de Google: 401. There was an error in your request.
- je suppose que c'est à cause de l'absence de l'autorisation (je n'ai pas demandé pour les Contacts de l'autorisation). Mais comment puis-je le faire, sans l' "Google_ContactsService.php"? Je suis perdu. Voir le code:
<?php
session_start();
/**
* Require the libaries
*/
require_once 'assets/php/Google/Google_Client.php';
require_once 'assets/php/Google/contrib/Google_AnalyticsService.php'; //from tutorial - I am supposed to get the Contacts Service, which is nowhere to find.
/**
* Set up the Google_Client
*/
$client = new Google_Client();
$client->setAccessType('online'); //default: offline
$client->setApplicationName($apiConfig['application_name']);
$client->setClientId($apiConfig['oauth2_client_id']);
$client->setClientSecret($apiConfig['oauth2_client_secret']);
$client->setRedirectUri($apiConfig['oauth2_redirect_uri']);
$client->setDeveloperKey($apiConfig['developer_key']); //API key
/**
* $service implements the client interface, has to be set before auth call
*/
$service = new Google_AnalyticsService($client);
/**
* Log out
*/
if (isset($_GET['logout'])) { //logout: destroy token
unset($_SESSION['google_token']);
exit('Logged out.');
}
/**
* Google auth code received
*
* Store access token
*/
if (isset($_GET['code'])) { //we received the positive auth callback, get the token and store it in session
$client->authenticate();
$_SESSION['google_token'] = $client->getAccessToken();
}
/**
* Set auth token
*/
if (isset($_SESSION['token'])) { //extract token from session and configure client
$token = $_SESSION['token'];
$client->setAccessToken($token);
}
/**
* If no token, redirect and auth
*/
if (!$client->getAccessToken()) { //auth call to google
$authUrl = $client->createAuthUrl();
header("Location: ".$authUrl);
exit;
}
/**
* Get contacts
*/
$access_token = json_decode($client->getAccessToken())->access_token;
$url = 'https://www.google.com/m8/feeds/contacts/default/full?alt=json&v=3.0&oauth_token='.$access_token;
$response = file_get_contents($url);
exit($response);
echo 'Hello, world.';
OriginalL'auteur FooBar | 2014-03-25
Vous devez vous connecter pour publier un commentaire.
De ici:
J'ai trouvé un exemple d'utilisation de l'ancienne bibliothèque.
developers.google.com/google-apps/contacts/v3/terms
Quelqu'un a déjà mise en œuvre dans la nouvelle bibliothèque? Je suis en train de faire une "coutume" demande mais je n'ai pas réussi encore: github.com/google/google-api-php-client/issues/446
OriginalL'auteur Vinicius Pinto
Mise à jour, le 28 Mars 2018:
J'ai créé un nouveau package pour gérer les Contacts Google basé sur la plus récente de Google API. Si vous avez commencé un nouveau projet, je vous recommande de l'utiliser à la place de celui mentionné dans mon premier post ci-dessous.
Vous pouvez trouver plus de détails ici: https://github.com/rapidwebltd/php-google-people-api
Original Post:
J'ai eu à travailler avec cette récemment, et après avoir constaté l'absence de Contacts service dans la langue officielle de PHP Google Client, j'ai créé un (sous licence MIT) bibliothèque PHP pour les Contacts Google API.
L'un des objectifs est de vraiment simplifier certains processus impliqués. Donc, pour répondre à votre question, après la mise en place de la bibliothèque, le code suivant est tout ce qui est nécessaire pour récupérer des contacts.
La bibliothèque a besoin d'un peu de travail, mais fonctionne bien pour des coordonnées de base de la récupération, création et mise à jour. Il peut également être installé via
composer
si nécessaire. Il suffit d'ajouter les lignes suivantes à votrecomposer.json
et exécutercomposer update
.De plus amples instructions d'installation et d'exemples sont disponibles sur GitHub.
GitHub Lien: https://github.com/rapidwebltd/php-google-contacts-v3-api
OriginalL'auteur DivineOmega
J'ai été en mesure de le faire fonctionner via la nouvelle bibliothèque... la plupart du temps. Ce n'est pas aussi lisse comme un Service complet de mise en œuvre, évidemment, mais il est des choses en mouvement.
Git la bibliothèque comme mentionné dans les messages ci-dessus.
J'ai commencé avec les exemples ici: https://developers.google.com/api-client-library/php/auth/web-app
oauth2callback.php (notez que le chemin d'accès complet à ce qui a à être cotée sur les Api & Auth/section informations d'Identification de votre Développeur de la Console ou vos appels échouent):
Et puis index.php:
Bonne chance! Son été un moment depuis que ce post a été mis à jour, alors si quelqu'un écrit un Service que j'aimerais savoir à ce sujet. Dans l'intervalle, cela devrait vous obtenir a commencé!
OriginalL'auteur Tim Curtin