一文字ずつTwitterに投稿するGAS(Google Apps Script)を書きました
最近はApps ScriptでTwitterのAPI叩いてます。
Apps Scriptはcronっぽいことが簡単にできたりするのでBotも簡単に作れたりします。せっかくなので紹介してみる。
動かし方
Google DocsのSpreadsheetを作成して、スクリプトエディタを開き、
コードをコピペしてtestYukkuriを実行で動きます。
※このときスクリプトエディタのプロパティで、
twitterConsumerKeyとtwitterConsumerSecretを設定しておきます。
ConsumerKeyとConsumerSecretの取得はこちらdev.twitter.comからできます。
アプリケーションの種類: ブラウザアプリケーション
コールバックURL:https://spreadsheets.google.com/macros
標準のアクセスタイプ:Read & Write
他は適当に入力して完了。取得画面は以下のようになります。
コード
JavaScriptとかほとんどわからないのでコードは適当です。
function testYukkuri() { postYukkuri("ここにしゃべらせたい言葉"); } function postYukkuri(text) { tweetInitialize(); var chars = text.split("").reverse(); for(var i=0;i<chars.length;i++){ twitterPost(chars[i]+getRandomSpace()); } } function getRandomSpace() { var space=""; for(var i=0;i<Math.random() * 120;i++){ space += " "; } return space; } function twitterPost(text) { // Setup optional parameters to point request at OAuthConfigService. The "twitter" // value matches the argument to "addOAuthService" above. var options = { "oAuthServiceName" : "twitter", "oAuthUseToken" : "always", "method" : "POST" }; var encodedTweet = encodeURIComponent(text); var result = UrlFetchApp.fetch("http://api.twitter.com/1/statuses/update.json?status=" + encodedTweet, options); var o = Utilities.jsonParse(result.getContentText()); Logger.log(o); Logger.log(result.getResponseCode()); } function tweetInitialize() { // Setup OAuthServiceConfig var oAuthConfig = UrlFetchApp.addOAuthService("twitter"); oAuthConfig.setAccessTokenUrl("http://api.twitter.com/oauth/access_token"); oAuthConfig.setRequestTokenUrl("http://api.twitter.com/oauth/request_token"); oAuthConfig.setAuthorizationUrl("http://api.twitter.com/oauth/authorize"); oAuthConfig.setConsumerKey(ScriptProperties.getProperty("twitterConsumerKey")); oAuthConfig.setConsumerSecret(ScriptProperties.getProperty("twitterConsumerSecret")); }