dpb587 / ravelry-api
此包已被弃用且不再维护。未建议替代包。
一个用于与Ravelry API交互的PHP库。
v0.1.0
2014-05-29 05:56 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: 4.0.2
- guzzlehttp/guzzle-services: 0.2.0
- guzzlehttp/oauth-subscriber: dev-master
This package is not auto-updated.
Last update: 2022-04-16 05:24:14 UTC
README
一个用于与Ravelry API交互的PHP库。
这可以视为一个功能原型。此库的API可能会更改。并非所有API调用都已测试。
本项目与Ravelry无关。
入门
下载
对于集成,最简单的方式是使用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’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'
测试
功能测试
功能测试将实际与Ravelry API通信,运行各种API调用并验证预期的响应。您必须配置一个用于测试认证的RAVELRY_TEST_ACCESS_KEY
和RAVELRY_TEST_PERSONAL_KEY
。所有测试尽可能具体,避免更改测试未创建的事物,然而,这是测试,因此您可能需要使用一个专门的测试账户。
有一个./test/cleanup.php
脚本,该脚本将清理失败测试留下的任何对象。
参考
- http://www.ravelry.com/api - Ravelry API文档
- https://github.com/dpb587/ravelry-api-cli.php - 这是一个API的命令行界面(使用这个库)