node.jsでTwitterのタイムライン取得

Twitterのパブリックタイムラインをプッシュでリアルタイムに情報を受け取ることのできるAPI

http://dev.twitter.com/pages/streaming_api

よくサンプルで接続している先
http://stream.twitter.com/1/statuses/sample.json

さらに、statuses/filterを使用すると指定したキーワードのパブリックステータスだけを送ってもらうことができます。

trackパラメータ
キーワード指定はtrackパラメータ
試した感じ、大文字と小文字を区別しませんでした。
キーワードは「,」で区切れば、複数のOR検索が出来ます。

followパラメータ
ユーザーを指定はfollowパラメータ
ユーザーのIDを指定します。
ユーザーか、指定ユーザのReTweetかが対象となります。
キーワードは「,」で区切れば、複数のOR検索が出来ます。

locationsパラメータ
場所の指定を行う場合は、
locations=南西,北東を経度緯度で指定して
特定の地域を選択できます。

var	sys		=	require('sys');
var	http	=	require('./http-basic-auth');

var	account	=	{username: '****',password: '****'};
var	client	=	http.createClient(80, 'stream.twitter.com', false, false, account);
var	request	=	client.request('GET', '/1/statuses/filter.json?locations=122.87,24.84,153.01,46.80', {'host': 'stream.twitter.com'});

request.on('response', function (response) {
	response.on('data', function(chunk) {
		try {
			var json =JSON.parse(chunk);
			var name = json['user']['name'];
			var text = json['text'];
			var profile_background_image_url = json['user']['profile_background_image_url'];
			var created_at = json['created_at'];
			var coordinates = json['coordinates']['coordinates'];
			var geo = json['geo']['coordinates'];
			console.log("-------------------------------------------");
			console.log("name: " + name);
			console.log("text: " + text);
			console.log("created_at: " + new Date( created_at + new Date().getTimezoneOffset() ) );
			console.log("profile_background_image_url: " + profile_background_image_url );
			console.log("coordinates: " + coordinates );
			console.log("geo[ido]/[keid]: " + geo );
			}
		} catch (e) {
// 				console.log(e);
		}
	});
});

request.end();

New Posts
Android APIよく忘れるのでメモ

Android 1.0 1 Base Android 1.1 2 Base1.1 Android 1.5 3 Cupcake Android 1.6 4 Donut Android 2.0 5 Eclair Android 2.0.1 6 Eclair 0.1 Android 2.1.x 7 Eclair mr1 Android 2.2.x 8 Froyo Android 2.3 9 Gingerbread Android 2.3.1 Android 2.3.2 Android 2.3.3 10 Gingerbread mr1 Android 2.3.4 Andr

Android minSdkVersion の引き上げ

昔のアプリを久しぶりに修正しようと思ったら、minSdkVersionを引き上げる必要があった。 Error:Execution failed for task ':flatalk:processDebugManifest'. > Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 14 declared in library [com.android.support:appcompat-v7:26.0.0-alpha1] /Users/admin/.android/build-cache/df7faf3c442bb6a7448aef64241ef184a528/output/An

Cordova Android Runtime Permission Plugin - cordova-plugin-android-permissionsでパーミッション要求が行われない。 requestPermission is not work

cordova-plugin-android-permissions permissions.requestPermission(successCallback, errorCallback, permission); ステップ実行で確認すると、hasPermissionではstatus.hasPermissioがFALSEになっているのですが 、デバック実行しても、パーミション要求が動かないことがありました。 原因はpluginの入れ替えで、要求するパーミンションがAndroidManifest.xmlから消えていたのが原因でした、Manifestに無いパーミッションはリクエストしても要求画面は開きません。 cordova-plugin-cameraを入れ直した際に、Manif

Youtube API - ユーチューブのカテゴリを取得する( VideoCategories: list)

GET https://www.googleapis.com/youtube/v3/videoCategories partのみ必須になっていたけど、regionCodeも必要だった。。今回はJPを指定。 参照:https://developers.google.com/youtube/v3/docs/videoCategories/list#try-it { "kind": "youtube#videoCategoryListResponse", "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/siiWQ_WM0OtxtxK7NUUJKFwqDRc\"", "items": [ { "kind": "youtube#videoC

Cordova Plugin作成 ( plugin.xml記載ミスでassets全部消えた。。)

<resource-file src="res/assets/cordova-plugin-4assets.js" target="assets" /> target-dirとtargetを記載ミスしてました。 正しくは、 <resource-file src="res/assets/cordova-plugin-4assets.js" target="assets/cordova-plugin-4assets.js" /> <resource-file src="res/assets/cordova-plugin-4assets.js" target-dir="assets/" /> プラグイン削除時にtargetも消されるので、assetsご


Share Link

Web Contents & Apps


Tags


Posts


Category