on{X}で学校に「来た」「帰った」を勝手にツイートするレシピつくった
こんにちは! 先日, 紹介したon{X}ですが独自拡張が出始めてます. 熱い!
- ツイートする拡張 Tweet on{X} http://tweetonx.com/
- Audio, Radio 痒いところに手が届く Set On{X} http://setonx.com/
どちらともアプリを入れたり, 認証が必要だったりしますが, それを補って余りあるほど面白いです. 今回は,学校に「来た」「帰った」を勝手にツイートするレシピを公開します.
レシピのコード
var location = { name : "college", latitude : "36.66227", longitude : "136.73950" }; var state_enter = "enable"; var state_leave = "disable"; var twitter = { screenName : "YOUR SCREEN NAME",onxToken : "YOUR TOKEN" } ; // End of variables initializing console.log('Started script.'); // create a geo region for the trigger to take place at var region = device.regions.createRegion({ latitude: parseFloat(location.latitude, 10), longitude: parseFloat(location.longitude, 10), name: location.name, radius: 250 }); function tweet(text) { text = encodeURI(text); // Sends tweet using TweetOn{X} device.ajax( { url: 'http://tweetonx.com/api/tweet/'+twitter.screenName+'/'+twitter.onxToken+'/?t='+text, type: 'GET', headers: { 'Content-Type': 'application/xml' } }, function onSuccess(body, textStatus, response){ var parsedBody; if(!body){ var error = {}; error.message = 'invalid body format'; error.content = body; console.error('error: ',error); } console.info('Status: ' + body); }, function onError(textStatus, response){ var error = {}; error.message = textStatus; error.statusCode = response.status; console.error('error: ',error); } ); } // register a callback to set volume for stream on entering/exiting the region region.on("enter", function () { tweet('学校に来ました (on{X}からの自動投稿)'); }); region.on("exit", function() { tweet('学校を出ました (on{X}からの自動投稿)'); }); // start monitoring the region device.regions.startMonitoring(region); console.log('Completed script');