dpb587 / ravelry-api

此包已被弃用且不再维护。未建议替代包。

一个用于与Ravelry API交互的PHP库。

v0.1.0 2014-05-29 05:56 UTC

This package is not auto-updated.

Last update: 2022-04-16 05:24:14 UTC


README

一个用于与Ravelry API交互的PHP库。

这可以视为一个功能原型。此库的API可能会更改。并非所有API调用都已测试。

本项目与Ravelry无关。

入门

源代码位于 ./src,依赖项由Composer管理。

下载

对于集成,最简单的方式是使用composer...

composer.phar require dpb587/ravelry-api=dev-master

对于开发,最简单的方式是使用git...

git clone https://github.com/dpb587/ravelry-api-php
cd ravelry-api-php
composer.phar install

认证

有两种认证方法可供选择。在两种情况下,您都可以从您的Ravelry Pro账户的“apps”选项卡中找到所需的密钥。

对于OAuth,使用一个OauthTokenStorage处理器,并包含您的访问密钥和秘密密钥...

$auth = new RavelryApi\Authentication\OauthAuthentication(
    new RavelryApi\Authentication\OauthTokenStorage\FileTokenStorage(),
    $accessKey,
    $secretKey
);

对于个人使用自己的账户,您可以使用您的访问密钥和个人密钥...

$auth = new RavelryApi\Authentication\BasicAuthentication($accessKey, $personalKey);

使用方法

创建一个新的RavelryApi\Client,包括您正在使用的认证处理器...

$ravelry = new RavelryApi\Client($auth);

现在您可以使用返回的结果进行API调用,将返回的结果用作数组...

# find the first message from the inbox
$id =
    $ravelry->messages->list([ 'folder' => 'inbox' ])
    ['messages'][0]['id'];

# load and show the message
$message =
    $ravelry->messages->show([ 'id' => $id ])
    ['message'];

echo $message['content_html'];
#> <p>I&#8217;m a message from the API!</p>

# then mark it as read
$ravelry->messages->markRead([ 'id' => $id ]);

内部,结果是对象,它提供了某些附加值...

get_class($message);
#= 'RavelryApi\\Model'

$message->toArray();
#= ['message'=>['sent_at'=>...]]

$message->getEtag();
#= '"18aa948e83e5e6b131d6b60998690fd5"'

$message->getStatusCode();
#= 200

$message->getStatusText();
#= 'OK'

测试

测试代码位于 ./test,并使用phpunit运行。

功能测试

功能测试将实际与Ravelry API通信,运行各种API调用并验证预期的响应。您必须配置一个用于测试认证的RAVELRY_TEST_ACCESS_KEYRAVELRY_TEST_PERSONAL_KEY。所有测试尽可能具体,避免更改测试未创建的事物,然而,这是测试,因此您可能需要使用一个专门的测试账户。

有一个./test/cleanup.php脚本,该脚本将清理失败测试留下的任何对象。

参考

授权

MIT授权