Back to tech

nodejsでTwitterを操作するためのメモ

2 min read
Table of Contents

nodejsで色々プログラミングすることが多いこの頃です

サーバーよりであることからマイコンにプログラムを常駐させていても落ちない点がよいです

以前にnodeでTwitterを動かすプログラムを作りました

そこで色々と迷ったところがあったので使い方を等をメモ程度にまとめておきます

はじめに

使用したモジュールはtwitterというものです

インストールしましょう

npm install twitter

初期定義

keyやトークン等々は各自で準備

var Twitter = require('twitter');

//YOUR TOKEN
var client = new Twitter({
 consumer_key: '',
 consumer_secret: '',
 access_token_key: '',
 access_token_secret: ''
});

ホームタイムラインの取得

client.get('statuses/home_timeline', function(error, tweets, response) {
    if (!error) {
      console.log(tweets);

      Object.keys(tweets).forEach(function(key) {
        var val = this[key];
        var obj = (key, val);

        var Id = obj['id_str'];
        var Text = obj['text'];
        console.log(Id);
        console.log(Text);

      }, tweets);
    }
});

ユーザータイムラインの取得

//USER_IDに取得したTwitterIDを入れる
var params = {screen_name: 'USER_ID'};
client.get('statuses/user_timeline', params, function(error, tweets, response) {
    if (!error) {
      console.log(tweets);

      Object.keys(tweets).forEach(function(key) {
        var val = this[key];
        var obj = (key, val);

        var Id = obj['id_str'];
        var Text = obj['text'];

        console.log(Id);
        console.log(Id);

      }, tweets);
    }
});

フォロワーの取得

//USER_IDに取得したフォロワーリストを取得
var params = {screen_name: USER_ID};
client.get('followers/list', params, function(error, profiles, response) {
    if (!error) {
        console.log(profiles);
        var profile = profiles['users'];

        profile.forEach(function(obj){
            var Id = obj['id_str'];
            var ScreenName = obj['screen_name'];
            console.log(Id);
            console.log(ScreenName);
        });
    }
});

お気に入りをする

/*
IdにはツイートのIDを入れること!
タイムラインの取得と組み合わせるのが良い
*/
client.post('favorites/create', {id: Id}, function(error, response){
        if(error) return;
});

リツイートする

/*
IdにはツイートのIDを入れること!
タイムラインの取得と組み合わせるのが良い
*/
client.post('statuses/retweet', {id: Id}, function(error, response){
      if(error) return;
 });

フォローする

/*
Idにはフォローしたい人のIDを入れること!
※@name ではないので注意
タイムラインの取得と組み合わせるのが良い
*/
client.post('friendships/create', {user_id: Id}, function(error, response){
     if(error) return;
 });

トレンドの取得

var params = {id:1110809}; //地域IDがあるのでそれを突っ込む
client.get('trends/place', params, function(error, trends, response) {
    if (!error) {
        var obj_trend = trends[0]['trends'];
        obj_trend.forEach(function(obj){
            var trend = obj['name'];

            console.log(trend);
        });
    }
});

走り書きなのでミスがあるかも

参考文献