Warnung: Auf dieser Seite geht es um die älteren Google APIs, die Google Data APIs. Sie ist nur für die APIs relevant, die im Google Data APIs-Verzeichnis aufgeführt sind. Viele davon wurden durch neuere APIs ersetzt. Informationen zu einer bestimmten neuen API finden Sie in der Dokumentation der jeweiligen API. Informationen zum Autorisieren von Anfragen mit einer neueren API finden Sie unter Google-Konten – Authentifizierung und Autorisierung.
Video:Trevor Johns erklärt die Installation der Clientbibliothek, die Bibliotheksarchitektur und geht den Code durch.
Aktualisiert im Oktober 2008 (ursprünglich von Daniel Holevoet verfasst)
- Einführung
- Vor der Installation
- PHP installieren
- Google Data PHP-Clientbibliothek installieren
- Prüfen, ob Sie auf die Clientbibliotheksdateien zugreifen können
- Weitere Informationen
- Anhang A: PHP-Pfad in der Konfigurationsdatei
php.ini
bearbeiten - Anhang B: PHP über die Befehlszeile verwenden
- Anhang C: Hinweise und Lösungen
- Überarbeitungsverlauf
Einführung
Die Google Data PHP-Clientbibliothek ist eine leistungsstarke Sammlung von Klassen, mit denen Sie mit den Google Data APIs interagieren können. Im Gegensatz zu unseren anderen Clientbibliotheken ist sie Teil des beliebten Zend Framework, kann aber auch separat heruntergeladen werden. Wie unsere anderen Clientbibliotheken ist sie Open Source und so konzipiert, dass sie einfach und effizient ist. So können Sie schnell mit Ihren Projekten beginnen.
Vor der Installation
PHP ist möglicherweise bereits auf Ihrem Entwicklungscomputer oder Webserver installiert. Überprüfen Sie dies und stellen Sie sicher, dass die PHP-Version aktuell genug für die Verwendung der Clientbibliothek ist. Am einfachsten ist es, wenn Sie eine neue Datei in ein über das Web zugängliches Verzeichnis auf Ihrem Server legen. Geben Sie Folgendes in die Datei ein:
<?php phpinfo(); ?>
Prüfen Sie dann, ob die Datei über das Web zugänglich ist. Dazu müssen Sie die entsprechenden Berechtigungen festlegen und im Browser zum Speicherort der Datei navigieren. Wenn PHP installiert ist und Ihr Server PHP-Seiten rendern kann, sollte die Ausgabe in etwa so aussehen wie im Screenshot unten:

Der Screenshot zeigt die PHP-Infoseite. Auf dieser Seite sehen Sie die installierte PHP-Version (in diesem Fall 5.2.6), die aktivierten Erweiterungen (im Abschnitt „Configure Command“) und den Speicherort der internen Konfigurationsdatei von PHP (im Abschnitt „Loaded Configuration File“). Wenn die Seite nicht angezeigt wird oder Ihre PHP-Version älter als 5.1.4 ist, müssen Sie Ihre PHP-Version installieren oder aktualisieren. Andernfalls können Sie den nächsten Abschnitt überspringen und mit der Installation der PHP-Clientbibliothek fortfahren.
Hinweis:Wenn Sie Zugriff auf die Befehlszeile haben und planen, PHP zum Ausführen von Befehlszeilenscripts zu verwenden, lesen Sie den Abschnitt PHP-Befehlszeile in diesem Artikel.
PHP installieren
Die Installation variiert je nach Plattform. Daher ist es wichtig, dass Sie bei der Installation der Anleitung für Ihre spezifische Plattform folgen. Bevor wir uns näher damit befassen, sei darauf hingewiesen, dass vorinstallierte Pakete, die neben PHP auch den Apache-Webserver und die MySQL-Datenbank enthalten, immer beliebter werden. Für Windows, Mac OS X und Linux gibt es das XAMPP-Projekt. Mac OS X-Nutzer können auch das MAMP-Projekt verwenden. Beide Pakete unterstützen OpenSSL in PHP, was für die Interaktion mit authentifizierten Feeds erforderlich ist.
Wenn Sie PHP mit den folgenden Schritten installieren, müssen Sie auch die Unterstützung für OpenSSL installieren und aktivieren. Weitere Informationen dazu finden Sie auf der PHP-Website im OpenSSL-Abschnitt. In den folgenden Abschnitten wird beschrieben, wie Sie PHP allein installieren.
Unter Windows
Am einfachsten installieren oder aktualisieren Sie PHP unter Windows mit dem PHP-Installationsprogramm, das auf der PHP-Downloadseite verfügbar ist.
- Wählen Sie die PHP-Installer-Option (im Abschnitt „Windows binaries“) aus, die der neuesten Version von PHP entspricht, und lassen Sie sie herunterladen.
- Öffnen Sie das Installationsprogramm und folgen Sie der Anleitung des Installationsassistenten.
- Wenn Sie vom Assistenten dazu aufgefordert werden, wählen Sie den Webserver aus, der auf Ihrem System installiert ist, damit der Server für die Verwendung mit PHP konfiguriert wird.
- Prüfen Sie die Installation anhand der Schritte oben.
Unter Mac OS X
PHP ist in OS X enthalten. Bevor Sie es verwenden, sollten Sie jedoch auf die aktuelle Version von PHP aktualisieren. Für das Upgrade können Sie eines von mehreren kostenlosen Binärpaketen installieren oder die Software selbst kompilieren. Weitere Informationen finden Sie auf der PHP-Dokumentationsseite zur Installation unter Mac OS X.
Nachdem Sie OS X installiert oder anderweitig eingerichtet haben, überprüfen Sie die Installation anhand der Schritte im Abschnitt zur Vorbereitung dieses Dokuments.
Unter Linux
Je nach Linux-Distribution gibt es möglicherweise eine integrierte oder benutzerfreundliche Einrichtungsoption für die PHP-Installation. Unter Ubuntu können Sie beispielsweise entweder einen Paketmanager verwenden oder einfach Folgendes in ein Terminal eingeben:
sudo apt-get install php5
Wenn für Ihre Linux-Distribution keine Paketinstallation verfügbar ist, müssen Sie die Installation über den Quellcode vornehmen. Es gibt detaillierte Anleitungen zum Kompilieren von PHP für Apache 1.3 und zum Kompilieren von PHP für Apache 2. Auf PHP.net finden Sie auch Anleitungen für andere Server.
Google Data PHP-Clientbibliothek installieren
Nachdem Sie eine funktionierende Version von PHP installiert haben, können Sie die Clientbibliothek installieren. Die Clientbibliothek ist Teil des Open-Source-Zend Framework, kann aber auch als Standalone-Version heruntergeladen werden. Wenn Sie bereits eine Version des Zend Framework (Version 1.6 oder höher) installiert haben, können Sie die Installation überspringen, da die Google Data Client Library enthalten ist. Wenn Sie jedoch die neueste Version des Frameworks verwenden, haben Sie Zugriff auf alle neuen Funktionen und Fehlerkorrekturen. Daher wird dies in der Regel empfohlen.
Wenn Sie das gesamte Framework herunterladen, erhalten Sie nicht nur Zugriff auf die Google Data Client Library, sondern auch auf den Rest des Frameworks. Die Clientbibliothek selbst verwendet einige andere Klassen, die Teil des vollständigen Zend Framework sind. Sie müssen jedoch nicht das gesamte Framework herunterladen, da wir sie in den eigenständigen Download aufgenommen haben.
- Laden Sie die Dateien der Google Data-Clientbibliothek herunter. Suchen Sie auf dieser Seite nach „Google Data APIs“.
- Entpacken Sie die heruntergeladenen Dateien. Es sollten vier Unterverzeichnisse erstellt werden:
demos
– Beispielanwendungendocumentation
: Dokumentation für die Clientbibliotheksdateienlibrary
: Die eigentlichen Quellcode-Dateien der Clientbibliothek.tests
– Dateien für Einheitentests für automatisierte Tests.
- Fügen Sie den Speicherort des Ordners
library
zu Ihrem PHP-Pfad hinzu (siehe nächster Abschnitt).
Prüfen, ob Sie auf die Clientbibliotheksdateien zugreifen können
Im letzten Schritt müssen Sie sicherstellen, dass Sie die PHP-Clientbibliotheksdateien aus dem Verzeichnis, in dem Sie Ihr Projekt erstellen, referenzieren und einbinden können. Dies wird erreicht, indem die Variable include_path
in der Konfigurationsdatei von PHP (php.ini
) festgelegt wird. Die Variable include_path
enthält eine Reihe von Verzeichnispfaden, die PHP durchsucht, wenn Sie eine require
- oder include
-Anweisung ausgeben, mit der externe Klassen, Bibliotheken oder Dateien in Ihr aktuelles Skript aufgenommen werden, ähnlich der import
-Anweisung in Java. Sie müssen den Speicherort der Clientbibliotheksdateien an die bereits in Ihrer include_path
festgelegten Werte anhängen. Dies kann auf zwei Arten erfolgen (beide werden unten ausführlich beschrieben):
- Legen Sie die
include_path
-Anweisung in Ihrerphp.ini
-Konfigurationsdatei dauerhaft über die Befehlszeile fest. Dazu sind Shell-Zugriff und Schreibberechtigungen erforderlich. - Legen Sie die Pfadvariable
include_path
auf Verzeichnisebene fest. Dazu sind der Apache-Webserver und die Möglichkeit zum Erstellen von.htaccess
-Dateien erforderlich. - Mit der Funktion
set_include_path()
können Sie den Include-Pfad in Ihren Skripts dynamisch festlegen. Er kann in jeder Ihrer .php-Dateien dynamisch festgelegt werden.
Wenn Sie Shell-Zugriff und Schreibberechtigungen für die Datei php.ini
haben (oder wenn Sie Code auf Ihrem lokalen Computer schreiben), folgen Sie einfach der Anleitung in Anhang A. Wenn Sie den Apache-Webserver verwenden und .htaccess-Dateien erstellen können, können Sie die Variable include_path
auf Verzeichnisebene festlegen. Das bedeutet, dass alle Dateien im Verzeichnis, in dem Sie arbeiten, automatisch auf das Clientbibliotheksverzeichnis verweisen können.
Sie können PHP-Konfigurationsoptionen wie im folgenden Snippet angeben:
# This works for PHP5 in both Apache versions 1 and 2 <IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php:/path/to/ZendGdata/library" </IfModule>
Hinweis:Weitere Informationen zum Ändern von Konfigurationseinstellungen finden Sie im PHP-Handbuch.
Wenn Sie keinen Shell-Zugriff auf Ihren Server haben und keine .htaccess-Dateien ändern oder erstellen können, können Sie immer die set_include_path
-Funktion verwenden. Möglicherweise haben Sie bereits einen Wert für include_path
festgelegt. Es empfiehlt sich daher, die neuen Werte anzuhängen, anstatt den gesamten Pfad zu überschreiben. Folgen Sie dazu dem unten stehenden Modell:
$clientLibraryPath = '/path/to/ZendGdata/library'; $oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);
Hinweis:Weitere Informationen zur Funktion set_include_path
finden Sie in den PHP-Handbuchseiten.
PHP-Installationsprüfung ausführen
Sie können das PHP-Script Installation Checker ausführen, um zu prüfen, ob der Include-Pfad richtig festgelegt wurde. Kopieren Sie einfach den Inhalt dieser Datei in eine neue Datei in einem über das Web zugänglichen Verzeichnis auf Ihrem Server und rufen Sie sie in Ihrem Browser auf. Wenn die Ausgabe in etwa so aussieht, wurde alles richtig konfiguriert und Sie können die PHP-Clientbibliothek verwenden:

Wenn Fehler angezeigt werden (wie im Screenshot unten), folgen Sie der Anleitung. Möglicherweise fehlen Erweiterungen oder der Pfad ist noch nicht richtig festgelegt. Möglicherweise müssen Sie den Server neu starten, damit die Änderungen wirksam werden. Dies gilt nur, wenn Sie die Datei php.ini
tatsächlich ändern. Auf dem Screenshot unten ist zu sehen, dass include_path
auf /path/to/nowhere
festgelegt ist:

Hinweis:Die PHP-Installationsprüfung führt die folgenden Schritte nacheinander aus: (1) Sind die erforderlichen PHP-Erweiterungen installiert? (2) Verweist include_path
auf das Verzeichnis der PHP-Clientbibliothek? (3) Können SSL-Verbindungen hergestellt werden? (4) Kann eine Verbindung zur YouTube Data API hergestellt werden? Wenn ein bestimmter Test fehlschlägt, werden die verbleibenden Tests nicht ausgeführt.
Nachdem die Clientbibliothek installiert ist, können Sie die Beispiele ausführen.
Beispiele ausführen
Im Stammverzeichnis des Verzeichnisses Zend/Gdata
befindet sich ein Ordner mit Demos – Beispiele, die Ihnen den Einstieg erleichtern. Einige dieser Beispiele sind für die Ausführung über die Befehlszeile konzipiert, z. B. demos/Zend/Gdata/Blogger.php
und demos/Zend/Gdata/Spreadsheet-ClientLogin.php
. Sie können sie mit php /path/to/example
ausführen. Die verbleibenden Beispiele können sowohl über die Befehlszeile als auch über einen Webbrowser ausgeführt werden. Wenn Sie sie in einem Browser ansehen möchten, sollten sie in dem Verzeichnis platziert werden, das Sie zum Bereitstellen von Webseiten verwenden. Diese Beispiele sollen Ihnen eine grundlegende Vorstellung davon vermitteln, wie Sie eine Google Data-Anwendung schreiben und ausführen. Wenn Sie mehr wissen möchten, stehen Ihnen weitere Ressourcen zur Verfügung.
Hinweis:Wenn Sie die webbasierten Demos online ansehen möchten, besuchen Sie googlecodesamples.com und suchen Sie nach den PHP-Anwendungen.
Weitere Informationen
Die besten Informationsquellen zu den Klassen, die Teil der Clientbibliothek sind, sind die API-Referenz auf der Zend Framework-Website. Achten Sie darauf, dass Sie das Paket Zend_Gdata aus dem Drop-down-Menü auswählen.
Jetzt können Sie mit der Programmierung beginnen. Also, go on, write some great applications. Wir sind gespannt auf Ihre Ergebnisse.
PHP-Entwicklerleitfäden sind für die folgenden Dienste verfügbar:
Da die PHP-Clientbibliothek ein Open-Source-Projekt ist, wird die Unterstützung für weitere APIs kontinuierlich erweitert. Jeder Dienst hat seine eigene Supportgruppe. In unseren FAQs finden Sie eine Liste der verfügbaren Supportgruppen.
Wenn Sie Hilfe bei der Fehlerbehebung Ihrer API-Aufrufe benötigen, finden Sie Artikel zum Debuggen von API-Anfragen mit Tools zur Erfassung von Netzwerkverkehr und zur Verwendung von Proxyservern mit den Google Data APIs. Es gibt auch einige externe Artikel zur Installation von XAMPP unter Linux und zur Installation von XAMPP unter Windows. Zusätzlich zu diesen Artikeln sollten Sie sich auch die Beiträge zur PHP-Clientbibliothek im Google Data API Tips-Blog ansehen.
Anhang A: PHP-Pfad in der Konfigurationsdatei php.ini
bearbeiten
Der PHP-Pfad ist eine Variable, die eine Liste von Speicherorten enthält, die PHP durchsucht, wenn beim Laden nach zusätzlichen Bibliotheken gesucht wird. Damit PHP die Dateien der Google Data PHP-Clientbibliothek auf Ihrem Computer oder Server laden und darauf zugreifen kann, müssen sie an einem Ort abgelegt werden, der PHP bekannt ist. Alternativ muss der Speicherort der Dateien an Ihren PHP-Pfad angehängt werden. Beachten Sie, dass Änderungen an der Datei php.ini
in der Regel einen Neustart des Servers erfordern. Sie können den aktuellen Wert der Variablen include_path
jederzeit auf der PHP-Infoseite prüfen. Suchen Sie in der ersten Tabelle nach der Zelle Loaded Configuration File (Geladene Konfigurationsdatei) und nach dem Pfad in der Spalte rechts.
Hinweis:Wenn Sie PHP über die Befehlszeile verwenden, müssen Sie möglicherweise eine zusätzliche Pfadvariable ändern. Lesen Sie sich Anhang B: PHP über die Befehlszeile verwenden durch.
Wenn Sie die Datei php.ini
gefunden haben, gehen Sie so vor, um den Pfad zu ergänzen.
- Öffnen Sie die Datei
php.ini
in Ihrem bevorzugten Texteditor. - Suchen Sie die Zeile, die auf den PHP-Pfad verweist. Sie sollte mit
include_path
beginnen. - Hängen Sie den Pfad, in dem Sie das Zend Framework gespeichert haben, an die Liste der bereits vorhandenen Speicherorte an. Stellen Sie Ihrem neuen Pfad das für Ihr Betriebssystem vorgesehene Trennzeichen voran (
:
auf Unix-ähnlichen Systemen,;
unter Windows). Ein korrekter Pfad auf Unix-ähnlichen Systemen sieht etwa so aus: Unter Windows sieht das ungefähr so aus:/path1:/path2:/usr/local/lib/php/library
\path1;\path2;\php\library
- Speichern und schließen Sie die Datei.
Hinweis:Unter Mac OS X erlaubt der Finder keinen Zugriff auf Dateien, die sich an Systemorten wie dem Verzeichnis /etc
befinden. Daher ist es möglicherweise am einfachsten, sie mit einem Befehlszeilen-Editor wie vi
oder pico
zu bearbeiten. Verwenden Sie dazu einen Befehl wie pico /path/to/php.ini
.
Anhang B: PHP über die Befehlszeile verwenden
Ab PHP-Version 5 ist in PHP ein Befehlszeilenprogramm verfügbar, das als CLI für „command line interpreter“ (Befehlszeileninterpreter) bezeichnet wird. Mit diesem Dienstprogramm können PHP-Skripts über die Befehlszeile ausgeführt werden. Dies kann nützlich sein, wenn Sie PHP lokal auf Ihrem Computer ausführen und nach Möglichkeiten suchen, einige Skripts schnell zu testen. Auf Ihrem Server benötigen Sie dazu Shell-Zugriff. Wichtig ist, dass PHP in der Regel zwei separate php.ini
-Dateien verwendet: eine mit den Konfigurationsoptionen für PHP, das auf Ihrem Server ausgeführt wird, und eine für die Konfigurationen, die PHP verwendet, wenn es über die Befehlszeile ausgeführt wird. Wenn Sie die Befehlszeilen-Demoanwendungen aus der Clientbibliothek ausführen möchten, müssen Sie auch die Befehlszeilen-Datei php.ini
ändern.
Geben Sie auf Unix-ähnlichen Systemen (Mac OS X, Linux usw.) die folgenden Befehle ein, um die Datei zu finden:
php -i | grep php.ini
Dieser Befehl sollte dazu führen, dass die folgenden Informationen in Ihrem Terminal angezeigt werden:
Configuration File (php.ini) Path => /etc/php5/cli Loaded Configuration File => /etc/php5/cli/php.ini
Hinweis:Die tatsächlichen Pfadpositionen (/etc/php...
) können auf Ihrem System natürlich abweichen.
Anhang C: Hinweise und Lösungen
In diesem Abschnitt finden Sie eine kurze Übersicht über einige der Probleme, die Entwickler bei der Arbeit mit PHP festgestellt haben, sowie die entsprechenden Lösungen.
Problem mit der dom-xml-Erweiterung in XAMPP
In der PHP-Clientbibliothek werden die DOMDocument-Klassen verwendet, um XML-Anfragen und ‑Antworten in PHP-Objekte umzuwandeln. Die Erweiterung dom-xml
kann Probleme bei der XML-Verarbeitung verursachen und zu falschen Transformationen führen. Einige unserer Entwickler haben festgestellt, dass bei Verwendung von XAMPP der DOMDocument-Konstruktor mit einem älteren Funktionsaufruf überschrieben wird, wie auf der PHP-Website beschrieben. Um dieses Problem zu beheben, achten Sie darauf, dass die XML-Verarbeitung in Ihrer Datei php.ini
nicht überschrieben wird. Entfernen Sie alle Verweise auf php_domxml.dll
aus Ihrer Konfigurationsdatei.
Bei Verwendung der Clientbibliothek treten Zeitüberschreitungen bei Anfragen auf
Wenn Sie die Clientbibliothek für relativ große Anfragen verwenden, z. B. zum Hochladen von Videos in die YouTube Data API, müssen Sie möglicherweise den Parameter timeout
in Ihrer Klasse Zend_Http_Client
ändern. Dazu übergeben Sie bei der Instanziierung einfach einen $config
-Parameter, mit dem der timeout
-Wert auf einen anderen Wert als den Standardwert von 10 Sekunden festgelegt wird:
// assuming your Zend_Http_Client already exists as $httpClient // and that you want to change the timeout from the 10 second default to 30 seconds $config = array('timeout' => 30); $httpClient->setConfig($config);
Einige Hostinganbieter erlauben keine HTTPS-Verbindungen von ihren Servern.
Wir haben gehört, dass einige Hostinganbieter keine https
-Verbindungen von ihren Standardservern aus zulassen. Wenn Sie eine Fehlermeldung wie unten erhalten, müssen Sie möglicherweise Ihre HTTPS-Verbindungen über einen sicheren Proxy herstellen:
Unable to Connect to sslv2://www.google.com:443. Error #110: Connection timed out
Ihr Hostinganbieter sollte Informationen zur tatsächlichen Adresse des zu verwendenden Proxyservers haben. Im folgenden Snippet wird gezeigt, wie eine benutzerdefinierte Proxykonfiguration mit der PHP-Clientbibliothek verwendet werden kann:
// Load the proxy adapter class in addition to the other required classes Zend_Loader::loadClass('Zend_Http_Client_Adapter_Proxy'); // Configure the proxy connection with your hostname and portnumber $config = array( 'adapter' => 'Zend_Http_Client_Adapter_Proxy', 'proxy_host' => 'your.proxy.server.net', 'proxy_port' => 3128 ); // A simple https request would be an attempt to authenticate via ClientLogin $proxiedHttpClient = new Zend_Http_Client('http://www.google.com:443', $config); $username = 'foo@example.com'; $password = 'barbaz'; // The service name would depend on what API you are interacting with, here // we are using the Google DocumentsList Data API $service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; // Try to perform the ClientLogin authentication using our proxy client. // If there is an error, we exit since it doesn't make sense to go on. try { // Note that we are creating another Zend_Http_Client // by passing our proxied client into the constructor. $httpClient = Zend_Gdata_ClientLogin::getHttpClient( $username, $password, $service, $proxiedHttpClient); } catch (Zend_Gdata_App_HttpException $httpException) { // You may want to handle this differently in your application exit("An error occurred trying to connect to the proxy server\n" . $httpException->getMessage() . "\n"); }
Überarbeitungsverlauf
1. Oktober 2008
Aktualisiert von Jochen Hartmann. Dieses Update enthält die folgenden Änderungen:
- Die PHP-Konfiguration für Webserver wurde übersichtlicher gestaltet, indem Abschnitte, die sich auf die Befehlszeilen-PHP beziehen, in einen Anhang verschoben wurden.
- Hinweis zu mehreren php.ini-Konfigurationsdateien hinzugefügt.
- Es wurden Abschnitte zum dynamischen Festlegen von „include_path“ hinzugefügt.
- Abschnitt zum Installationsprüfskript hinzugefügt.
- Link zu Onlinebeispielen wurde hinzugefügt.
- Links für XAMPP und MAMP hinzugefügt.
- Einen Anhang mit Hinweisen und Lösungen hinzugefügt.