気がつけば12月。就活もスタートしましたが、ボクは意識が低いので今回もProcessing 遊びのログを書いていきます。非公式ライブラリであるTwitter4j を使ってProcessing からツイートしてみるプログラムを、今日から2回に分けて作っていきますよ。(記事を分割して投稿数を稼ぐという、ちょこざいな方法を会得したようだ。)
- 準備
まずは準備。Twitter4j for Processing のページからライブラリをダウンロードします。そして展開したjar ファイルをsketchbook\プロジェクト名\code\ に移動しましょう。初期状態ではcode ディレクトリがないので、自分で作ってくださいね。
次にTwitterのDeveloperページで新規アプリの登録を行って、"Consumer key", "Consumer secret", "Access token", "Access token secret" を取得してください。SettingsタブにあるApplication Type では、Read and Write を選択しておきましょう。Application Details にあるWebsite はアプリを紹介するページのURLで、何でもOKです。ローカルで動かすだけならhttp://127.0.0.1/ と入力しましょう。
また今回は、それっぽい雰囲気を出すためにツイートボタンに画像ファイルを使用します。カーソルを合わせたときボタンの色が変わるように、2種類のものを作成してsketchbook\プロジェクト名\data\ に移動します。このdata ディレクトリも自分で作成します。GIMP などを使って、好きなボタンを作ってみましょう。
- import と変数の宣言
ではいよいよ、実際にコードを書いていきましょう。はじめは以下のように書きます。
import twitter4j.conf.*;
import twitter4j.*;
import twitter4j.auth.*;
import twitter4j.api.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;
これは「ライブラリを読み込んでね」という命令です。最後のjava.util パッケージは、今回は不要ですが一応加えておきます。awt, swing パッケージはつぶやきを入力するテキストボックスの生成に使います。
Twitter twitter;
String iLine;
TextArea inputLine;
PImage TB, TB_;
ほかにも宣言しなければいけません。iLine は入力した文字列を格納する変数、PImage はProcessing で画像ファイルを取り扱うときの型です。プログラミングがはじめてという人も、すぐに理解する必要はありません。そのまま書いてくださいね。
- setup 関数
変数の宣言をしたあとに、以下の内容を書いていきます。
void setup(){
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey("*****");
cb.setOAuthConsumerSecret("*****");
cb.setOAuthAccessToken("*****");
cb.setOAuthAccessTokenSecret("*****");
TwitterFactory tr = new TwitterFactory(cd.build());
twitter = tf.getInstance();
}
{ から } までで、1つのまとまりになります。これはプログラムを動かすとき、はじめに一度だけ行われる初期化の作業です。ここにおまじないを書いていきます。「このプログラムからのツイートを許可します」という権限を与える作業だと思ってください。***** の部分にはDeveloperページで取得したキーを入力していきます。
ここまでの作業をまとめると、以下のようになります。
import twitter4j.conf.*;
import twitter4j.*;
import twitter4j.auth.*;
import twitter4j.api.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;
Twitter twitter;
String iLine;
TextArea inputLine;
PImage TB, TB_;
void setup(){
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey("*****");
cb.setOAuthConsumerSecret("*****");
cb.setOAuthAccessToken("*****");
cb.setOAuthAccessTokenSecret("*****");
TwitterFactory tf = new TwitterFactory(cd.build());
twitter = tf.getInstance();
}
これだけではまだ動かないので、次回からちゃんと肉付けをしていきます。参考にさせていただいたページは下にあります。ではでは。
0 件のコメント:
コメントを投稿