pocket API学习笔记
最近安装了pocket离线阅读软件。
为了收藏需要的URL,每次都要打开浏览器。然后按google工具条上的pocket+。
网页多的时候,这个过程就非常缓慢。
根据pocket网站的API介绍,我可以创建一个新的应用,直接操作我的收藏夹。
我写了一个python的脚本,大家或许可以看一下。https://github.com/febwave/python-script
1. 创建应用
首先你必须要创建一个pocket账号。
然后从http://getpocket.com/developer/apps/创建属于你的一个新的应用。
记录下CONSUMER KEY。
为了后续的说明,我的应用名称:pyBatchUrl。CONSUMER KEY:36822-6df058ece34310d6dceda601
2. 预备工作
阅读API说明
相信大家都能看明白的,我就不翻译了。只是需要记住使用HTTPS和post方法。
测试工具:fiddler2。
3. 获取request token
request-header:
Content-Type: application/json; charset=UTF-8
X-Accept: application/json
Host: getpocket.comrequest-body:
{"consumer_key":"36822-6df058ece34310d6dceda601","redirect_uri":"pyBatchUrl:authorizationFinished"}
注意:pyBatchUrl是我的应用名称。
response:
{"code":"1f183197-a099-1c67-4e59-3345dc","state":null}
code就是request token。
4. 用户授权,人工执行浏览器,应该仅需要一次,成功登陆即可.如果这步不做的话,获取访问令牌将会失败。
5. 访问令牌access token
request-header
Content-Type: application/json; charset=UTF-8
X-Accept: application/json
request-body
{"consumer_key":"36822-6df058ece34310d6dceda601","code":"1f183197-a099-1c67-4e59-3345dc"}
response
{"access_token":"8f608123-0000-0000-0000-26c49e","username":baidu@sina.com}access_token就是访问令牌,后续应用程序就靠它来访问你的收藏夹了。
username 是用户注册的账号。
6. 增加新的页面
request-header
Host: getpocket.com
Content-Type: application/json; charset=UTF-8
X-Accept: application/json
request-body:比如我想把sina加进来。
{"url":"http:\/\/www.sina.com.cn","title":"sina","consumer_key":"36822-6df058ece34310d6dceda601","access_token":"8f608123-0000-0000-0000-26c49e"}
response
{
"item": {
"item_id": "173403",
"normal_url": "http://sina.com.cn",
"resolved_id": "173403",
"extended_item_id": "173403",
"resolved_url": "http://www.sina.com.cn/",
"domain_id": "663938",
"origin_domain_id": "663938",
"response_code": "200",
"mime_type": "",
"content_length": "117286",
"encoding": "gb2312",
"date_resolved": "2014-12-13 02:58:17",
"date_published": "0000-00-00 00:00:00",
"title": "新浪首页",
"excerpt": "新浪新闻"}
"status": 1
}
}
7. 获取清单
request-header
Host: getpocket.com
Content-Type: application/json
request-body 我就仅获取一条,count可选
{"consumer_key":"36822-6df058ece34310d6dceda601","access_token":"8f608123-0000-0000-0000-26c49e","count":"1","detailType":"simple"}
response
{
"status": 1,
"complete": 1,
"list": {
"173403": {
"item_id": "173403",
"resolved_id": "173403",
"given_url": "http://www.sina.com.cn",
"given_title": "sina",
"favorite": "0",
"status": "0",
"time_added": "1421909498",
"time_updated": "1421909498",
"time_read": "0",
"time_favorited": "0",
"sort_id": 0,
"resolved_title": "新浪首页",
"resolved_url": "http://www.sina.com.cn/",
"excerpt": "新浪新闻",
"is_article": "0",
"is_index": "1",
"has_video": "0",
"has_image": "1",
"word_count": "0"
}
},
"error": null,
"search_meta": {
"search_type": "normal"
},
"since": 1421909572
}
最新文章
- git工作中的常用操作
- MongoDb 与 Nodejs服务器的启动
- 清除XCode缓存和生成文件
- SPOJ DQUERY:D-query
- Understanding GC pauses in JVM, HotSpot's minor GC.
- 信用卡/借记卡充值p2p平台
- Oracle EBS-SQL (AR-1):检查应收收款发生额
- badi增强
- mongodb 查询时没有索引报错(too much data for sort() with no index)
- MySQL中的完整性约束条件(主键、外键、唯一、非空)
- Android WebView 不支持 H5 input type=";file"; 解决方法
- Git时光机穿梭之删除文件
- 使用Mongodb+Shiro+SpringMVC实现动态权限分配
- Monkey测试结果分析
- 蓝桥杯 跳蚱蜢 (bfs)
- Delphi 10-10.2.2启动提示JS错误的解决办法
- BZOJ4229选择——LCT+并查集+离线(LCT动态维护边双连通分量)
- [JavaScript] - replaceAll,将字符串中的字母或数字等全部替换掉的方式
- Backup and Recovery Types
- flutter 调用原生(获取当前设备电池电量)
热门文章
- codeforces 414A A. Mashmokh and Numbers(素数筛)
- CGAffineTransform属性
- POJ2443 Set Operation (基础bitset应用,求交集)
- javascript break 和continue
- 从零开始构建一个Reactor模式的网络库(一) 线程同步Mutex和Condition
- Win32控制台程序和Win32应用程序
- P1648 看守
- YCOJ黑熊过河
- android 带checkbox的List
- 洛谷P3379lca,HDU2586,洛谷P1967货车运输,倍增lca,树上倍增