node.js 유용한 모듈 (7) - ntwitter
본 글은 원저자의 허락을 받아 번역하고 게시한 것 입니다.
원문 링크 - http://www.catonmat.net/blog/nodejs-modules-ntwitter/
오늘 소개할 모듈 ntwitter는 트위터 스트리밍과 검색 REST API 비동기 방식으로 처리하는 라이브러리다. 이 모듈은 Charlie McConnell, aka AvianFlu에 의해 관리되고 있다. 실제로 ntwitter는 technoweenie에 의해 생성됐지만, 이후 관리자가 여러번 바뀌었다.
이것을 사용하기 위해서는 API 키가 필요하다. 그것은 dev.twitter.com에서 쉽게 얻을 수 있다. 단지 새로운 앱을 등록하면 API 키를 얻을 수 있을 것이다.
다음은 트윗을 하는 ntwitter 예제 앱이다.
var twitter = require('ntwitter');
var twit = new twitter({
consumer_key: 'Twitter',
consumer_secret: 'API',
access_token_key: 'keys',
access_token_secret: 'go here'
});
twit
.verifyCredentials(function (err, data) {
if (err) {
console.log("Error verifying credentials: " + err);
process.exit(1);
}
})
.updateStatus('Test tweet from ntwitter/' + twitter.VERSION,
function (err, data) {
if (err) console.log('Tweeting failed: ' + err);
else console.log('Success!')
}
);
다음은 ntwitter API를 통해 검색하는 예제다.
var twitter = require('ntwitter');
var twit = new twitter({
consumer_key: 'Twitter',
consumer_secret: 'API',
access_token_key: 'keys',
access_token_secret: 'go here'
});
twit.search('nodejs OR #node', function(err, data) {
if (err) {
console.log('Twitter search failed!');
}
else {
console.log('Search results:');
console.dir(data);
}
});
다음은 트위터의 스트리밍 API를 활용하는 예이다 .
var twitter = require('ntwitter');
var twit = new twitter({
consumer_key: 'Twitter',
consumer_secret: 'API',
access_token_key: 'keys',
access_token_secret: 'go here'
});
twit.stream('statuses/sample', function(stream) {
stream.on('data', function (data) {
console.log(data);
});
});
여기에서 여러분이 스트림 할 수 있는 모든 statuses/*
의 리스트를 확인할 수 있다.
검색과 스트리밍을 처리하기 위해 트위터에 로그인 할 필요가 없다는 것을 주목해라.
여러분은 다음과 같은 방식으로 누군가의 트윗을 스트림 할 수 있다.
var twitter = require('ntwitter');
var twit = new twitter({
consumer_key: 'Twitter',
consumer_secret: 'API',
access_token_key: 'keys',
access_token_secret: 'go here'
});
twit.stream('user', {track:'nodejs'}, function(stream) {
stream.on('data', function (data) {
console.dir(data);
});
stream.on('end', function (response) {
// Handle a disconnection
});
stream.on('destroy', function (response) {
// Handle a 'silent' disconnection from Twitter, no end/error event fired
});
});
마지막으로 특정 경계안의 위치에서 트윗을 스트림 할 수 있다.
var twitter = require('ntwitter');
var twit = new twitter({
consumer_key: 'Twitter',
consumer_secret: 'API',
access_token_key: 'keys',
access_token_secret: 'go here'
});
twit.stream('statuses/filter', {'locations':'-122.75,36.8,-121.75,37.8,-74,40,-73,41'},
function(stream) {
stream.on('data', function (data) {
console.log(data);
});
});
Cole Gillespie의 node-finden 모듈은 경계 영역의 지도 좌표를 구하는 데 사용할 수 있다. 다음은 Cole의 소프트웨어가 동작하는 모습을 나타낸 것이다.
트위터의 모든 것을 ntwitter로 굉장히 쉽게 할 수 있다.
늘 했던 것처럼 ntwitter
을 npm통해 설치 할 수 있다.
npm install ntwitter
Ntwitter의 GitHub 사이트: https://github.com/AvianFlu/ntwitter.
Enjoy!
If you love these articles, subscribe to my blog for more, follow me on Twitter to find about my adventures, and watch me produce code on GitHub!