雑記はじめにこの記事は、結構前に投稿した記事maekawa-yoshimiki-1119.hatenablog.comで参照したブログがなぜかなくなってしまっていたことを受けて、「せっかくだしもう一回復習しとくか!!」と書き始めたものになります。使用言語はJAVAで、eclipseを使います。Twitter4JでAPIをたたいていこうと思っている所存でございまし。Managementでの鍵の取得方法など、詳細な部分まで書き留めていこうと思っているので、よければお付き合いのほどよろしくお願いいたします。Managementへの登録Twitterを動かすために必要になってくる既存アカウントの登録を行っていきます。作業用の鍵垢を新しく作って進めていくのが無難です。Managementというもの。以下のリンクから飛ぶことができます。apps.twitter.com登録は簡単。App」をクリック「アプリケーション名」「概要」「webサイト」を入力。application」をクリックこれで、Twitterアカウントをアプリケーションという形で運用することができるようになりました。鍵とアクセストークンの取得アカウントを登録できたとはいえ、このままでは使えません。使えるようにするために必要なものを取りに行きます。Tokens」をクリック。Tokens」みたいなボタンをクリックします。これで、アカウントをTwitter4Jで動かすために必要な鍵とアクセストークンの取得は完了です。Twitter4Jのダウンロード・パス通しここで、今回Twitterアカウントを動かす要となるライブラリ、Twitter4Jのダウンロードおよび、eclipseへのビルトインパス通しをやっていきます。以下のリンクへ飛びます。http://twitter4j.org/ja/index.html「ダウンロード」セクションにある最新安定バージョンをダウンロードダウンロードしたzipファイルを適当なディレクトリに解凍これで、ダウンロードはおしまい。次に、eclipseへのパス通しをしていきます。例のごとくeclipseの「プロジェクトを右クリック」→「プロパティ」→「ビルトインパス」に移動する「外部JARを追加」でTwitter4Jフォルダのlibディレクトリにある5個のjarファイルを選択する適用してウィンドウを閉じるこれでeclipseへのパス通しは完了です。ここまでしたら、Twitter4Jを使ったコードがエラーをはかなくなります。コンパイルはできるといったところでしょうか。Managementで取得した鍵とトークンをtwitter.propertiesというファイル名で保存していきます。ひな型はこちらdebug=trueoauth.consumerKey=xxxxxxxxxxxxxxxxxxxxxoauth.consumerSecret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoauth.accessToken=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoauth.accessTokenSecret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...のところにそれぞれの鍵なりトークンなりをコピペしていきます。1行目ではデフォルトでfalseになっているデバック機能をtrueに変更しています(;などは必要ありません)。ここまでやって、初めて登録アカウントを操作することができます。実際にコードを書いてみるここから先の話はTwitter4Jのサイト(http://twitter4j.org/ja/code-examples.html)に載っていることをちょっとまとめたものになりますので、より詳しく知りたい方はそちらへお願いします。Twitterインスタンスを取得する投稿、取得などなどを色々するにはTwitter4JのTwitterクラスのインスタンスをTwitterFactoryクラスで生成する必要があります。TwitterFactory().getInstance();これでおっけい。基本的にツイートを行う際はStatusUpdateクラスにツイート内容を登録TwitterクラスのupdateStatusメソッドでツイートを投稿という流れを取っていきます。文字の投稿内容はStatusUpdateの引数として設定することができますので、ここではそれをやっていきます。}}これで投稿完了です。Twitter4Jのクラスを使用する場合、TwitterExceptionっていう例外が出る可能性があるので、try文またはthrowsでの処理を書き足す必要が出てきます。eclipseは賢いので、ここら辺もエラーとして教えてくれます。文字だけの投稿ではTwitterではありません。画像も投稿したい!!ということで、やっていきましょう。画像を投稿する方法は確認したところ二つ。StatusUpdateクラスのmediaメソッド、setMediaメソッドで画像をファイルの形で登録するUploadedMediaクラスのインスタンスをTwitterクラスのuploadMediaメソッドで画像をファイルの形で登録し、StatusUpdateクラスのsetMediaIdsで画像のIDを登録するといっても何が何だかわからないので、実際書いていきます。//今回は文字は指定しません。}}24行目でコメントアウトしているsetMediaメソッドををmediaメソッドの代わりに使ってもちゃんと動きます。ファイルシステムからパス取得、toFile()でファイル変換して変数fileに入れるという方法もほかのサイトで見ましたので加えて書いておきます。update.media(file);/*省略*/この、media、setMediaメソッドを使った方法は楽なんですが、画像が1枚しか登録できません...(自分の検索能力では見つけられませんでした。知っている人がいるならぜひ教えてください...)。お次は2の方法を書いていきます。//今回は文字は指定しません。}}このプログラムでは、MediaIdを複数個updateに登録することで、複数画像の投稿を実現しています。31行目の波かっこの中に1つのMediaIdを入れたときは投稿された画像は1つ、4つ以上のMediaIdを入れてしまうとエラーを吐いて処理が中断しました。この方法でもファイルシステムからのファイル取得は可能です。ここまで画像ツイートについてやってきましたが、複数画像を投稿できる2の方法を利用したほうが便利そうです。自分のタイムラインの取得もできる。TwitterクラスのgetHomeTimelinメソッドで取得していきます。取得する際はStatusの形でListに保存します。取得できるツイート数はデフォルトで20個となっていますが、今回のコードではPagingを用いて50個取得できるようにしてあります。以下ソースコードです。}}実際に取得してみて気づいたんですが、プロモーションツイートが引っかかってこないんですね、これ。したTL閲覧ツールができるかもしれないです。最後に長くなってしまいましたが、ここまでTwitter4Jの導入から簡単なアカウントの操作方法を書いてきました。ドキュメント読んで書いていくのは大変だなぁ...と感じる次第です。自分はこれから、AndroidアプリケーションとTwitterをこのライブラリを使って連携させてみたいなぁと考えていたり、複数アカウントで同時投稿とかできたらいいかなぁなんて考えていますので、モノができたらまた記事にしようかと思います。この記事はあくまで覚書として。導入で困っている人の助けになってほしいものです。読んでくださった方に感謝を。»Searchマエカワ思い立ったら更新。忘れちゃダメなことをその日のうちに。Maekawa_studyはてなブログをはじめよう!maekawa_yoshimiki_1119さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。