从Pocket API检索数据(oAuth)
我需要从我的Pocket帐户检索我保存的阅读列表,似乎我需要通过他们的oAuth获取访问令牌来提出请求。
我有访问令牌的消费者密钥,并根据Pocket API文档,请求将类似于这样的事情。
POST /v3/oauth/request HTTP/1.1 Host: getpocket.com Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Accept: application/x-www-form-urlencoded consumer_key=1234-abcd1234abcd1234abcd1234& redirect_uri=pocketapp1234:authorizationFinished
我的问题是…是不是oAuth第三方应用程序启用通过谷歌,Facebook帐户的身份validation? 我不知道这个想法是如何与我的网站相关的,只需要从Pocket上访问我自己的数据就可以在我的网站上共享。
我知道我需要以某种方式进行身份validation,所以我可以访问我的数据,但是oAuth的过程中,我需要通过获取我需要的?
看起来他们只支持3段OAuthstream量。 您可以在您的NodeJS应用程序中使用Grant ,或从这里获取访问令牌。
格兰特
- 将以下示例保存到文件
- 在这里设置你的钥匙:
key:'...'
- 安装所需的依赖关系
- 用node.js运行文件
- 导航到
http://localhost:3000/connect/getpocket
- 按照屏幕上的说明
最后你会看到你的access_token
。
var express = require('express') , session = require('express-session') var options = { server: {protocol:'http', host:'localhost:3000'}, getpocket: {key:'...', callback:'/getpocket_callback'} } var Grant = require('grant-express') , grant = new Grant(options) var app = express() app.use(session({secret:'very secret'})) app.use(grant) app.get('/getpocket_callback', function (req, res) { console.log(req.query) res.end(JSON.stringify(req.query, null, 2)) }) app.listen(3000, function () { console.log('Express server listening on port ' + 3000) })
}
最纯净的
然后你可以使用Purest向Pocket的REST API发送请求。
var getpocket = new Purest({provider: 'getpocket'}) getpocket.query() .post('get') .auth('[API_KEY]', '[ACCESS_TOKEN]') .request(function (err, res, body) { // body is the parsed JSON response })