twitter_Twitter JSON文件示例

twitter

系列文章于2017年中用最新信息和新示例重写。

Twitter是最大的社交网络之一,多年来一直通过REST API为开发人员提供对其平台的访问权限。 他们还为对实时数据感兴趣的开发人员提供了流式API。 要访问这些API中的任何一个,您首先需要在此处注册一个应用程序。 确保您已阅读《 开发人员协议》 ,否则,如果您创建违反其条款的应用程序,将会被拒之门外。

注册应用程序后,您将能够生成应用程序访问Twitter数据所需的以下密钥。

  • 使用者密钥(也称为API密钥)
  • 消费者秘密
  • 访问令牌密钥
  • 访问令牌机密

Twitter API使用JSON格式与第三方应用程序进行通信。 因此,您可以使用任何支持JSON的编程语言来开发应用程序。 在此示例中,我们将使用NodeJS。

首先,git clone json-examples项目 ,安装依赖项并创建一个.env文件。

git@github.com:sitepoint-editors/json-examples.git
cd json-examples
npm install
touch .env

.env文件中,您需要填充以下设置:

TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TWITTER_ACCESS_TOKEN_KEY=
TWITTER_ACCESS_TOKEN_SECRET=

接下来,让我们看一下twitter-json-example.js代码。

require('dotenv').config();
var Twitter = require('twitter');

const CONSUMER_KEY = 'TWITTER_CONSUMER_KEY';
const CONSUMER_SECRET = 'TWITTER_CONSUMER_SECRET';
const ACCESS_TOKEN_KEY = 'TWITTER_ACCESS_TOKEN_KEY';
const ACCESS_TOKEN_SECRET = 'TWITTER_ACCESS_TOKEN_SECRET';

// Validate Twitter API Keys
const keys = [CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET ]
keys.forEach((key) => {
  if(!process.env[key])
    throw new Error(key + ' has not been set!');
});

var client = new Twitter({
  consumer_key: process.env[CONSUMER_KEY],
  consumer_secret: process.env[CONSUMER_SECRET],
  access_token_key: process.env[ACCESS_TOKEN_KEY],
  access_token_secret: process.env[ACCESS_TOKEN_SECRET]
});

var params = {screen_name: 'sitepointJS', count: 3};
client.get('statuses/user_timeline', params, function(error, tweets, response) {
  if (!error) {
    console.log(JSON.stringify(tweets));
  }
});

为了轻松使用Twitter REST API,我们寻求了一个名为Twitter的npm软件包的帮助。 首先,我们验证是否已定义所有API密钥。 然后,我们在path statuses/user_timeline上执行查询。 要了解有关Twitter API路径的更多信息,请查看Apigee Twitter控制台

要执行代码,只需执行以下操作:

node twitter-json-example.js

等待几秒钟,您将很快收到JSON输出。 下面,我演示了部分结果:

[{
  "created_at": "Thu Jun 22 21:00:00 +0000 2017",
  "id": 877994604561387500,
  "id_str": "877994604561387520",
  "text": "Creating a Grocery List Manager Using Angular, Part 1: Add & Display Items https://t.co/xFox78juL1 #Angular",
  "truncated": false,
  "entities": {
    "hashtags": [{
      "text": "Angular",
      "indices": [103, 111]
    }],
    "symbols": [],
    "user_mentions": [],
    "urls": [{
      "url": "https://t.co/xFox78juL1",
      "expanded_url": "http://buff.ly/2sr60pf",
      "display_url": "buff.ly/2sr60pf",
      "indices": [79, 102]
    }]
  },
  "source": "<a href=\"http://bufferapp.com\" rel=\"nofollow\">Buffer</a>",
  "user": {
    "id": 772682964,
    "id_str": "772682964",
    "name": "SitePoint JavaScript",
    "screen_name": "SitePointJS",
    "location": "Melbourne, Australia",
    "description": "Keep up with JavaScript tutorials, tips, tricks and articles at SitePoint.",
    "url": "http://t.co/cCH13gqeUK",
    "entities": {
      "url": {
        "urls": [{
          "url": "http://t.co/cCH13gqeUK",
          "expanded_url": "http://sitepoint.com/javascript",
          "display_url": "sitepoint.com/javascript",
          "indices": [0, 22]
        }]
      },
      "description": {
        "urls": []
      }
    },
    "protected": false,
    "followers_count": 2145,
    "friends_count": 18,
    "listed_count": 328,
    "created_at": "Wed Aug 22 02:06:33 +0000 2012",
    "favourites_count": 57,
    "utc_offset": 43200,
    "time_zone": "Wellington",
  },
}]

以下是本系列的其他示例:

翻译自: https://www.sitepoint.com/twitter-json-example/

twitter

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值