首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Pocket (oAuth)检索数据

从Pocket (oAuth)检索数据
EN

Stack Overflow用户
提问于 2015-10-07 07:34:08
回答 2查看 1.4K关注 0票数 1

我需要从我的Pocket帐户中检索我保存的读取列表,而且我似乎需要通过他们的oAuth获取访问令牌才能发出请求。

我已经获得了访问令牌的使用者密钥,根据Pocket文档,请求将类似于以下内容。

代码语言:javascript
复制
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不是可以通过Google,Facebook账户进行认证吗?我不认为这个想法是如何与我的网站,将只需要访问我自己的数据从Pocket分享我的网站。

我知道我需要以某种方式进行身份验证,这样我才能访问我的数据,但是oAuth是否是我需要完成的过程呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-07 07:43:00

似乎它们只支持3条腿的OAuth流。您可以在您的格兰特应用程序中使用NodeJS,也可以从这里获得访问令牌。

格兰特

  • 将下面的示例保存到文件中
  • 在这里设置您的密钥:key:'...'
  • 安装所需的依赖项
  • 使用node.js运行文件
  • 导航到http://localhost:3000/connect/getpocket
  • 按照屏幕上的说明操作

最后,您将看到您的access_token

代码语言:javascript
复制
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)
})

}

最纯净

然后可以使用最纯净向Pocket的REST发出请求。

代码语言:javascript
复制
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
  })
票数 3
EN

Stack Overflow用户

发布于 2021-03-12 20:12:09

对于任何在2021年或以后阅读这篇文章的人来说,想要制作一个简单的脚本来将文章添加到他们的口袋里,我想出了这样的方法:

1:通过袖珍地点获取您的用户密钥。

2:让您访问令牌,使用工具非常简单。如果你想要制作一个没有它就能工作的应用程序,我想上面的(旧的)答案可能有用,但没有测试它。

3:使用以下代码添加一篇文章:

代码语言:javascript
复制
var request = require('request');

request.post({
        url: 'https://getpocket.com/v3/add',
        form: {
            url: 'https://articleToAdd.com',
            consumer_key: '123456-12abcd1234a1ab12a12abc12',
            access_token: '12345a1a-1ab1-1a12-12a1-1a1234'
        }
    },
    function(err, httpResponse, body) { console.log(httpResponse.body) }
)

希望它能帮助那些想做同样事情的人。检索/修改文章类似,请查看这里的详细信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32986314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档