duellsy / pockpack
用于优雅地处理与GetPocket.com API通信的包。
v2.5.0
2014-08-14 00:17 UTC
Requires
- php: >=5.3.0
- guzzle/guzzle: 3.*
Requires (Dev)
- phpunit/phpunit: 3.7.*
README
此包用于连接到Pocket API。 在此处查看他们的文档
您需要注册一个应用并在Pocket中使用提供的生成的令牌,以便能够连接到API。
安装
Pockpack可以通过composer安装,具体详情请见packagist,这里。
请将以下内容添加到您项目的composer.json文件的require
部分
"duellsy/pockpack": "2.*"
在您想使用Pockpack类的文件中,请确保将您要使用的命名空间添加到文件顶部,类似于以下内容,以便您的代码可以无问题地引用类
use Duellsy\Pockpack\Pockpack;
use Duellsy\Pockpack\PockpackAuth;
use Duellsy\Pockpack\PockpackQueue;
认证
获取请求令牌
$pockpath_auth = new PockpackAuth();
$request_token = $pockpath_auth->connect($consumer_key);
将用户重定向到Pocket的认证页面
https://getpocket.com/auth/authorize?request_token=YOUR_REQUEST_TOKEN&redirect_uri=YOUR_REDIRECT_URI
获取用户访问令牌
$pockpack = new PockpackAuth();
$access_token = $pockpack->receiveToken($consumer_key, $request_token);
获取用户访问令牌和用户名
$pockpack = new PockpackAuth();
$data = $pockpack->receiveTokenAndUsername($consumer_key, $request_token);
$access_token = $data['access_token'];
$username = $data['username'];
获取阅读列表
检索阅读列表
这将返回所有活跃(未存档)的书签的完整列表,您可以选择让它也返回额外的信息,例如图片。如果您希望结果为数组,可以在检索函数中发送第二个布尔值并将其设置为true。
$pockpack = new Pockpack($consumer_key, $access_token);
$as_array = true; // false will return JSON, true will return an array
$list = $pockpack->retrieve($options[, $as_array]); // the second parameter is optional, defaults to false
选项数组允许您控制API返回的确切内容。有关完整选项列表,请参阅Pocket检索API的“可选参数”部分(您也可以在此页面上查看示例JSON响应)
示例1:显示所有收藏夹书签,包括图片
$options = array(
'state' => 'all',
'favorite' => 1,
'detailType' => 'complete'
);
示例2:仅显示未读书签,包括图片
$options = array(
'state' => 'favorite',
'detailType' => 'complete'
);
添加新书签
将书签添加到您的阅读列表的简单示例
$link_info = array(
'url' => 'http://example.com'
);
$pockpack = new Pockpack($pocket_consumer_key, $pocket_access_token);
$pockpack_q = new PockpackQueue();
$pockpack_q->add($link_info);
$pockpack->send($pockpack_q);
发送到添加方法的数组可以包含以下信息
- item_id(整数;如果您正在覆盖链接)
- ref_id(整数;Twitter状态ID;用于显示推文归属)
- tags(数组;您要添加到此书签的标签列表)
- time(时间戳;由PockpackQueue类自动添加)
- title(字符串;如果需要控制它,则为可选标题)
- url(字符串;条目的URL)
修改现有书签
修改书签的主要流程如下
$pockpack = new Pockpack($pocket_consumer_key, $pocket_access_token);
$pockpack_q = new PockpackQueue();
$pockpack_q->favorite($item_id);
$pockpack->send($pockpack_q);
您首先需要创建pockpack连接,然后向队列添加一些内容,最后将队列发送到Pocket。
在发送之前,您可以向队列添加尽可能多的项目,以批量发送以保持快速。
存档书签
$pockpack_q->archive($item_id);
重新添加书签
$pockpack_q->readd($item_id);
收藏书签
$pockpack_q->favorite($item_id);
取消收藏书签
$pockpack_q->unfavorite($item_id);
删除书签
$pockpack_q->delete($item_id);
书签的标记操作
标记的主要流程如下
$pockpack = new Pockpack($pocket_consumer_key, $pocket_access_token);
$pockpack_q = new PockpackQueue();
$tags = array("sampleTag1","sampleTag2");
$tag_info = array(
'item_id' => $item_id,
'tags' => $tags
);
$pockpack_q->tags_add($tag_info);
$pockpack->send($pockpack_q);
添加标签
$pockpack_q->tags_add($tag_info);
删除标签
$pockpack_q->tags_remove($tag_info);
替换标签
$pockpack_q->tags_replace($tag_info);
清除标签
清除标签不需要$tag_info
,只需$item_id
$pockpack_q->tags_clear($item_id);
贡献
欢迎并鼓励贡献;为了保持事物有序,所有问题和请求应在主项目的github issues标签中打开,请访问duellsy/pockpack/issues
所有拉取请求应提交到develop分支,以便在合并到master分支之前进行测试。