duellsy/pockpack

用于优雅地处理与GetPocket.com API通信的包。

v2.5.0 2014-08-14 00:17 UTC

This package is auto-updated.

Last update: 2024-09-23 14:39:52 UTC


README

此包用于连接到Pocket API。 在此处查看他们的文档

您需要注册一个应用并在Pocket中使用提供的生成的令牌,以便能够连接到API。

Build Status

安装

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分支之前进行测试。

Bitdeli Badge