Rumah >pembangunan bahagian belakang >tutorial php >Kursus kemalangan API Wunderlist ' s dengan Guzzle
Artikel ini meneroka cara berinteraksi dengan API Wunderlist menggunakan klien HTTP Guzzle PHP. Wunderlist, aplikasi pengurusan tugas yang popular, menawarkan API yang membolehkan pemaju menguruskan tugas secara programatik. Panduan ini menunjukkan operasi asas CRUD (membuat, membaca, mengemas kini, memadam).
Konsep Utama:
Menyediakan persekitaran pembangunan:
A
composer.json
<code class="language-json">{ "require": { "php": ">=5.5.0", "guzzlehttp/guzzle": "~6.0" }, "autoload": { "psr-4": { "Wunderlist\": "src/" } }, "require-dev": { "symfony/var-dumper": "~2.7" } }</code>untuk kelas PHP anda. Tiga fail diperlukan:
(untuk interaksi API), src/
(menyimpan kelayakan API - index.php
.gitignore keys.php
fail ini!), Dan (untuk mengecualikan dan .gitignore
) . vendor/
harus mengandungi: keys.php
.gitignore
<code>vendor/* keys.php</code>Persediaan Aplikasi Wunderlist:
Sebelum pengekodan, buat aplikasi baru dalam akaun Wunderlist anda. Sediakan URL aplikasi dummy dan url panggil balik aplikasi (butiran oauth ditinggalkan untuk keringkasan). Secara kritis, menghasilkan token akses admin -ini mengesahkan aplikasi anda.
kelas
WunderlistClient
fail menyimpan
: keys.php
: client_id
:
access_token
<code class="language-php"><?php $client_id = 'your-client-id'; $access_token = 'your-access-token'; ?></code>(dalam
) mengendalikan permintaan API: WunderlistClient
src/WunderlistClient.php
Contoh (🎜>>
<code class="language-php"><?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); } } }</code>(Menggunakan
): index.php
WunderlistClient
Kaedah contoh untuk (ilustrasi):
<code class="language-php">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 }</code>
<code class="language-json">{ "require": { "php": ">=5.5.0", "guzzlehttp/guzzle": "~6.0" }, "autoload": { "psr-4": { "Wunderlist\": "src/" } }, "require-dev": { "symfony/var-dumper": "~2.7" } }</code>
ingat untuk menggantikan nilai letak dengan sebenar client_id
dan access_token
. Melaksanakan kaedah CRUD yang lain, merujuk dokumentasi API Wunderlist. Kod lengkap, termasuk pengendalian ralat dan ciri -ciri yang lebih canggih, akan lebih lama lagi. Ini menyediakan struktur rangka untuk bermula. Rujuk dokumentasi API Wunderlist untuk butiran mengenai titik akhir dan parameter permintaan tertentu.
Atas ialah kandungan terperinci Kursus kemalangan API Wunderlist ' s dengan Guzzle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!