Google-API-PHP-Client - Service-Kontakte
Habe ich, nach Stunden der Tiefe, Tiefe Schmerz endlich ein bisschen näher an die Konfiguration und Nutzung der Google-API-PHP-Client, mit dieses tutorial (basierend auf Analytics obwohl).
So, jetzt habe ich endlich auth meiner selbst, in einer Weise, die scheint echt und offiziellen. Meine Natürliche Gedanke war, dass es existieren würde, eine contrib/Google_ContactsService.php
, aber zu meiner überraschung, es ist nirgends zu finden amogst die 32 anderen service-Klassen.
Fühle ich mich wieder wie zu kratzen. Gibt es eine Möglichkeit, ich kann - echt und offiziell - fetch einem bestimmten Nutzer Kontakte? (Tonnen von tutorials gibt, die aber alle veraltet und hacky).
EDIT: ich merke, es ist eine neuere version der Bibliothek verfügbar hier, aber es ist noch nicht alle "Kontakte" - service zu finden in der .../Service/Ordner
EDIT:
Meine Fortschritte bisher. Die letzten Zeilen scheitert mit der Antwort von Google: 401. There was an error in your request.
- ich denke, das ist, weil der Mangel der Berechtigung (ich habe nicht gefragt, für Kontakte-Berechtigung). Aber wie mache ich das, ohne die "Google_ContactsService.php"? Ich bin verloren. Siehe 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.';
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom hier:
Fand ich ein Beispiel für die Verwendung der alten Bibliothek.
Update, 28. März 2018:
Habe ich ein neues Paket zu verwalten, Google Kontakte auf der Grundlage der neueren Google-Menschen-API. Wenn Sie ein neues Projekt gestartet, ich würd dir empfehlen die Verwendung dieses Paket, nicht die in meinem ursprünglichen Beitrag erwähnt unten.
Finden Sie weitere details hier: https://github.com/rapidwebltd/php-google-people-api
Original Post:
Musste ich die Arbeit mit diesem vor kurzem und nach der Feststellung der fehlenden Kontakte-service in der offiziellen PHP-Google-Client, ich habe eine (MIT-Lizenz) PHP-Bibliothek für die Google Contacts API.
Eines der Ziele ist, um wirklich zu vereinfachen einige der Verfahren beteiligt. Also um deine Frage zu beantworten, nach der Einrichtung der Bibliothek, der folgende code ist alles, was benötigt wird, um abrufen von Kontakten.
Muss die Bibliothek ein wenig Arbeit, aber funktioniert gut für grundlegende Kontaktinformationen retrieval, Erstellung und Aktualisierung. Es kann auch installiert werden, über
composer
wenn nötig. Fügen Sie einfach den folgenden, um Ihrecomposer.json
und führencomposer update
.Weitere setup-Anweisungen und Beispiele sind auf GitHub.
GitHub-Link: https://github.com/rapidwebltd/php-google-contacts-v3-api
War ich in der Lage, diese Arbeit über die neue Bibliothek... meistens. Es ist nicht so glatt wie ein full-Service-Umsetzung, das ist klar, aber es bewegt etwas.
Git die Bibliothek wie bereits in den Beiträgen oben.
Angefangen habe ich mit den Beispielen hier: https://developers.google.com/api-client-library/php/auth/web-app
oauth2callback.php (beachten Sie, dass der vollständige Pfad zu dieser zu werden aufgeführt auf die APIs & Auth/Sie im Abschnitt Anmeldeinformationen für Ihre Entwickler-Konsole oder Ihre Anrufe fehlschlagen):
Dann index.php:
Glück! Es ist schon eine Weile her, seit dieser Beitrag wurde aktualisiert, so dass, wenn jemand geschrieben, ein Dienst, den ich lieben würde, zu wissen. In der Zwischenzeit, das sollte Ihnen den Einstieg!