最近安装了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说明

http://getpocket.com/developer/docs/v3/preferences-api

相信大家都能看明白的,我就不翻译了。只是需要记住使用HTTPS和post方法。

测试工具:fiddler2。

3. 获取request token

网址:https://getpocket.com/v3/oauth/request

request-header:

Content-Type: application/json; charset=UTF-8
X-Accept: application/json
Host: getpocket.com

request-body:

{"consumer_key":"36822-6df058ece34310d6dceda601","redirect_uri":"pyBatchUrl:authorizationFinished"}

注意:pyBatchUrl是我的应用名称。

response:

{"code":"1f183197-a099-1c67-4e59-3345dc","state":null}

code就是request token。

4. 用户授权,人工执行浏览器,应该仅需要一次,成功登陆即可.如果这步不做的话,获取访问令牌将会失败。

https://getpocket.com/auth/authorize?request_token=1f183197-a099-1c67-4e59-3345dc&redirect_uri=pyBatchUrl:authorizationFinished

5. 访问令牌access token

网址:https://getpocket.com/v3/oauth/authorize

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. 增加新的页面

网址:https://getpocket.com/v3/add

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. 获取清单

网址:https://getpocket.com/v3/get

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
    }

pocket API学习笔记的更多相关文章

  1. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  2. Windows录音API学习笔记(转)

    源:Windows录音API学习笔记 Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { W ...

  3. Node.js API 学习笔记

    常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...

  4. Windows录音API学习笔记

    Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { WORD      wMid; 用于波形 ...

  5. 从零开始搭建.NET Core 2.0 API(学习笔记一)

    从零开始搭建.NET Core 2.0 API(学习笔记一) 一. VS 2017 新建一个项目 选择ASP.NET Core Web应用程序,再选择Web API,选择ASP.NET Core 2. ...

  6. Windows录音API学习笔记--转

    Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { WORD      wMid; 用于波形 ...

  7. TCP协议和socket API 学习笔记

    本文转载至 http://blog.chinaunix.net/uid-16979052-id-3350958.html 分类:  原文地址:TCP协议和socket API 学习笔记 作者:gilb ...

  8. Jquery API学习笔记

    学习网站 JQuery API 中文网: http://www.jquery123.com/ 学习一遍API可以更熟练的运用jquery并且拓展思路. 这里只挑选了一些我认为在开发中会用到的一些API ...

  9. Self-Host Web API 学习笔记

    ASP.NET Web API 不需要 IIS,直接使用控制台程序可以实现. 一.创建一个新的控制台程序,项目名为 HostApi 二.设置目标框架为.NET Framework 4 三.NuGet添 ...

随机推荐

  1. 【转】Chrome调试鼠标悬停后出现的元素

    原文地址:https://blog.csdn.net/sparrowflying/article/details/80996550 调试小技巧:调试样式的时候,有一类元素是鼠标悬停在特定位置才会出现的 ...

  2. Button Style

    Button Style BS_3STATE 与复选框一样本样式按钮可被单击变暗.变暗状态通常用于指示本样式的按键正处于禁用状态. BS_AUTO3STATE 与三状态的复选框一样当用户选中它本按钮样 ...

  3. hdoj1116【欧拉回路】

    题意: 应该是求一个路径让所有的单词能够首尾连起来,不需要头和尾的单词也连起来...应该很容易懂吧...我这里讲的好烂.. 思路: 从欧拉回路的定义引申过来. 1. 连通. 2. 入度和出度问题. 问 ...

  4. adb相关

    --------------------------------------------- adb logcat |find "nafio" >c:/logcat.txt 另 ...

  5. 7天学完Java基础之1/7

    方法重载 package cn.itcat.day04.demo01; //方法重载就是参数个数不同,参数类型不同,参数类型的顺序不同 //方法重载与参数名称无关,与方法返回值类型无关 //方法重载方 ...

  6. robotframework自动化系列:操作mysql数据库

    随着项目自动化深入和不断完善,大部分功能都已经能完成了自动化的操作:但是在设备添加的时候,遇到了难题.添加设备的时候mac必须是服务器设备管理中已经存在的mac地址,且是没有关联或绑定用户的设备信息. ...

  7. ubuntu 下配置django 项目能够被局域网下的其他电脑访问

    在项目下的路径下下运行 python manage.py runserver 后面的端口换成其他可用的端口也可以 如何让外网也能访问呢,有待更新

  8. C#语言开发规范-ching版

    拙劣之处请大家斧正,愚某虚心接受,如有雷同,不胜荣幸 C#语言开发规范 作者ching 1.  命名规范 a) 类 [规则1-1]使用Pascal规则命名类名,即首字母要大写. eg: Class T ...

  9. Zabbix-Server 添加主机

    之前讲解了如何配置Zabbix 服务端和客户端,现在我们来讲解下如何在zabbix监控端添加主机 Zabbix服务端:Centos 配置 Zabbix服务端 Zabbix客户端:Centos 配置 Z ...

  10. python之使用request模块发送post和get请求

    import requestsimport json #发送get请求并得到结果# url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑马 ...