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);
});
}
});
走り書きなのでミスがあるかも
参考文献
- barutanGNE’s blog http://barutangne.hatenablog.com/entry/2014/01/31/192200