koa2根据时间线获取用户在twitter上发布的推文

重点:非必须不要去关联什么推特,因为推特很坑,不花钱升级开发者账户,只能免费使用(发布、删除、查自己)这三个接口;一个月100美金,虽然大部分功能都可用,但是请求速率卡的死死的,要想随心所欲的调用推特官方的api,那就要每个月花费5000美金!当然,我们这个产品量级比较小,用户暂时还达不到那么多,所以排队调用还是能接受的!
一、注册推特开发者账号

链接:https://developer.twitter.com/

注册完了之后呢,要创建一个app来关联到自己的开发者账号,有一个地方很重要,看下图:

红色框部分,如果你关联推特涉及到的权限,就一定要设置一下这个,不设置读写权限,调用不了接口的。然后点击Edit(编辑)能获取到Client ID、Client Secret,这两个字段如果你选择使用Oauth2.0调用的话用得上,如果使用oAuth1.0a应该是用不上,但是保留一份最好!

二、记apikey

创建完开发者账号绑定完app这一套流程下来,你瞅瞅,你现在已知的key都有哪些?

上图的应该是都有了,如果你没有,说明你流程上可能忽略哪一个环节

三、调接口

有了上面获取到的那个apiKey,接下来就可以用程序调接口了

先执行一下:npm i axios axios-oauth-1.0a  安装一下依赖

然后直接上代码

const axios = require('axios');
const addOAuthInterceptor = require('axios-oauth-1.0a').default;

// 创建一个将被签名的客户端
const client = axios.create();

// 指定OAuth选项
const options = {
  algorithm: 'HMAC-SHA1',
  key: '*********************',   //Consumer Key
  secret: '*****************************************',  //ConsumerSecret
  token: '*************************************************',  //Access Token
  tokenSecret: '*****************************************'  //Access Token Secret
};

// 添加拦截器以签署请求
addOAuthInterceptor(client, options);


// 发起带有OAuth签名的GET请求,我这个是按时间线查询用户发布的推文,'174683507*********'这个是你要查的对方的推特的id,这个id怎么获取,前端授权之后会传给你,当然也有专门查id的接口
client.get('https://api.twitter.com/2/users/'+'174683507*********'+'/tweets')  
  .then(response => {
    console.log(response.data.data);
  })
  .catch(error => {
    console.error(error);
  });

module.exports = {
  client,
  options
};

上方执行后的代码就是下面这个样子:

因为我只发了一条推文,所以只获得了一条数据,这个是个分页查询,每页最多好像是10条!

四、结语

以上就是有关获取推文的方法,其实含金量不是很高,就是坑比较多,希望对你有帮助!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值