In diesem Artikel wird untersucht, wie Sie mit der Wunderlist -API mit dem HTTP -Client von PHP interagieren. WunderList, eine beliebte Task -Management -Anwendung, bietet eine API, mit der Entwickler Aufgaben programmatisch verwalten können. Dieser Handbuch zeigt grundlegende CRUD -Operationen (erstellen, lesen, aktualisieren, löschen).
Schlüsselkonzepte:
Die seit 2015 öffentlich verfügbare Wunderlist -API ermöglicht Entwicklern, das Aufgabenmanagement in ihre Anwendungen zu integrieren. Dieses Tutorial verwendet einen einfachen PHP -Ansatz (ohne Frameworks) und einen Komponisten für das Abhängigkeitsmanagement. Da es keinen offiziellen PHP -SDK gibt, nutzen wir Guzzle. Ein Begleitdemo -Repository (Link im Originaltext angegeben) zeigt eine grundlegende Implementierung mit AJAX für die Überprüfung der Aufgaben.
Einrichten der Entwicklungsumgebung:
a composer.json
Datei verwaltet Abhängigkeiten:
{ "require": { "php": ">=5.5.0", "guzzlehttp/guzzle": "~6.0" }, "autoload": { "psr-4": { "Wunderlist\": "src/" } }, "require-dev": { "symfony/var-dumper": "~2.7" } }
Erstellen Sie ein src/
Verzeichnis für Ihre PHP -Klassen. Es werden drei Dateien benötigt: index.php
(für die API -Interaktion), keys.php
(Speichern von API -Anmeldeinformationen - .GIitignore diese Datei!) Und .gitignore
(um vendor/
und keys.php
auszuschließen) . .gitignore
sollte enthalten:
<code>vendor/* keys.php</code>
Wunderlist -Anwendung Setup:
Erstellen Sie vor dem Codieren eine neue Anwendung in Ihrem Wunderlist -Konto. Geben Sie eine URL und eine App -Callback -URL von Dummy App an (OAuth -Details sind für die Kürze weggelassen). Entscheidend erzeugen Sie ein Administratorzugriffs -Token - dies authentifiziert Ihre Anwendung.
Die WunderlistClient
Klasse:
Die Datei keys.php
speichert Ihr client_id
und access_token
:
<?php $client_id = 'your-client-id'; $access_token = 'your-access-token'; ?>
Die WunderlistClient
Klasse (in src/WunderlistClient.php
) handelt API -Anforderungen:
<?php namespace Wunderlist; use GuzzleHttp\ClientInterface; use Psr\Http\Message\ResponseInterface; class WunderlistClient { private $client; public function __construct(ClientInterface $client) { $this->client = $client; } // ... methods for getLists(), getList(), getListTasks(), createTask(), completeTask() ... (See below for examples) private function checkResponseStatusCode(ResponseInterface $response, $expectedStatusCode) { $statusCode = $response->getStatusCode(); if ($statusCode !== $expectedStatusCode) { throw new \RuntimeException('Wunderlist API returned status code ' . $statusCode . ' expected ' . $expectedStatusCode); } } }
index.php
Beispiel (mit WunderlistClient
):
require 'vendor/autoload.php'; require_once 'keys.php'; use GuzzleHttp\Client; use Wunderlist\WunderlistClient; $guzzle = new Client([ 'base_uri' => 'https://a.wunderlist.com/api/v1/', 'headers' => [ 'Content-Type' => 'application/json', 'X-Client-ID' => $client_id, 'X-Access-Token' => $access_token, ] ]); $wunderlist = new WunderlistClient($guzzle); try { $lists = $wunderlist->getLists(); // Process $lists } catch (\Exception $e) { // Handle exceptions }
Beispielmethoden für WunderlistClient
(veranschaulichend):
{ "require": { "php": ">=5.5.0", "guzzlehttp/guzzle": "~6.0" }, "autoload": { "psr-4": { "Wunderlist\": "src/" } }, "require-dev": { "symfony/var-dumper": "~2.7" } }
Denken Sie daran, Platzhalterwerte durch Ihr tatsächliches client_id
und access_token
zu ersetzen. Implementieren Sie andere CRUD -Methoden ähnlich und verweisen Sie auf die Wunderlist -API -Dokumentation. Der vollständige Code, einschließlich Fehlerbehandlung und fortgeschrittenere Funktionen, wäre deutlich länger. Dies bietet eine Skelettstruktur für den Einstieg. In der Wunderlist -API -Dokumentation finden Sie Einzelheiten zu bestimmten Endpunkten und Anforderungsparametern.
Das obige ist der detaillierte Inhalt vonCrash -Kurs der API von Wunderlist mit Guzzle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!