本文探讨了如何使用PHP的Guzles HTTP客户端与WunderList API进行交互。 流行的任务管理应用程序WunderList提供了API,允许开发人员以编程方式管理任务。 本指南展示了基本的crud(创建,读取,更新,删除)操作。
密钥概念:
使开发人员能够将任务管理集成到其应用程序中。该教程使用直接的PHP方法(无框架)和作曲家用于依赖关系管理。 由于没有官方的PHP SDK,因此我们利用Guzzle。 伴侣演示存储库(原始文本中提供的链接)用AJAX展示了一个基本实现,以进行任务检查。
设置开发环境:
> a文件管理依赖项:
composer.json
>为您的PHP类创建目录。 需要三个文件:
<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>(存储API凭据 -
> .gitignoresrc/
index.php
此文件!)和keys.php
>(排除和>) 。 .gitignore
应包含:vendor/
keys.php
.gitignore
<code>vendor/* keys.php</code>
在编码之前,请在Wunderlist帐户中创建一个新应用程序。 提供虚拟应用程序URL和应用回调URL(省略了OAuth的详细信息)。 至关重要的是,生成管理员访问令牌 - 该对您的应用程序进行身份验证。>
class:
WunderlistClient
文件存储您的>>
>
keys.php
client_id
access_token
class(in
<code class="language-php"><?php $client_id = 'your-client-id'; $access_token = 'your-access-token'; ?></code>
WunderlistClient
src/WunderlistClient.php
示例(使用
<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>
>
index.php
WunderlistClient
>
<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>
记住将占位符值替换为您的实际client_id
>和access_token
。 类似地实施其他CRUD方法,引用Wunderlist API文档。 完整的代码(包括错误处理和更高级功能)将大大更长。 这提供了一个骨骼结构以开始。 请咨询WunderList API文档以获取有关特定端点的详细信息和请求参数。
以上是Wunderlist的速成课程与Guzzle的API的详细内容。更多信息请关注PHP中文网其他相关文章!