4月 29

twitterのbotなどで OAuthを使う方法(PHPバージョン)』へたくさんの人が来られるのでその誘導用記事。

まずtwitterに登録しよう

bot用のOAuthの設定を始めるに当たってtwitter側で登録する必要がある。
botのアカウントでtwitterにログインをした状態で以下のリンクへ。
Twitter Applications | dev.twitter.com
すると下の画像のようなアプリケーション一覧画面になる。
まだOAuth用の登録をしていないなら一覧には何も表示されません。

登録してあるOAuthの一覧

画面右側にある『新しいアプリケーションを登録する』をクリック。
そうすると下のような設定画面がでて来る。

簡単な設定画面

設定してアプリケーションを登録した後、アプリケーション一覧画面へ戻る。
登録したアプリケーションの画像をクリックすると個別の情報ページへと飛ぶ。

アプリケーションの個別画面

モザイクかけてあるところが秘密にするべき情報。
bot用の設定ならばCallback URLは空欄だ。
この画面の中の『Consumer key』と『Consumer secret』が今回OAuthを使うのに必要なもの。

そして画面右側にある『My Access Token』をクリック。
そうすると『Access Token』と『Access Token Secret』が発行される。

これら4つのランダムな文字列を使ってOAuth用のプログラムを動かす。

プログラムの準備をしよう

まず、『abraham’s twitteroauth at master – GitHub』からプログラムをダウンロードしよう。
バージョンは0.2.0以降のものをダウンロードする。βが付いてるけど動くみたい。

バージョン0.2以降をダウンロード

ダウンロードし解凍した中の『twitteroauth』フォルダの中の『OAuth.php』と『twitteroauth.php』を使ってbotを動かす。
それら二つをbotと同じ場所にコピペだ。

動作テストの例としてAPIを使うサンプルを少し詳しく紹介。
http://api.twitter.com/1/statuses/mentions.xml?count=30』の内容をモニョモニョする。
PHP5以降が必須です。

<?php
// twitteroauth.phpを読み込む。パスはあなたが置いた適切な場所に変更してください
	require_once("twitteroauth.php");

// Consumer keyの値
	$consumer_key = "consumer_key";
// Consumer secretの値
	$consumer_secret = "consumer_secret";
// Access Tokenの値
	$access_token = "access_token";
// Access Token Secretの値
	$access_token_secret = "access_token_secret";

// OAuthオブジェクト生成
	$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);

//APIを呼び出す(今回はリプライを30件取得する)
	$result = $to->OAuthRequest("http://api.twitter.com/1/statuses/mentions.xml","GET",array("count"=>"30"));
//扱いやすくする
	$xml = simplexml_load_string($result);

//foreachを使い処理をする
	foreach( $xml->status as $value ){
		$status_number = $value->id;	//個別発言のステータスナンバー
		$text = $value->text;	//発言内容
		$screen_name = $value->user->screen_name;	//発言者のtwitterID

		//各発言を表示する(botだと$textに特定文字列がある場合リプライするとかの処理を入れる)
		echo $screen_name . "さんから@が飛んできました。<br />";
		echo "発言内容は" . $text . "で、その個別ページはhttp://twitter.com/" . $screen_name . "/status/" . $status_number . "です。<br />";
		echo "<br />";
	}
?>

コードの上にマウスを持ってくるとコードの右上の方にプリンタの画像とかが出てくるので、
その一番左にあるプレインテキストの画像をクリックすれば別ウインドウにコピペしやすく再表示されます。

以上で解説は終わりです。
何か質問があればコメント欄へよろしくお願いいたします。


投稿日   written by hosimitu

2月 16

けーついのコンセプトはパケ死しない

2ヶ月ほど前に携帯電話用のtwitterクライアントを作った。
色々あってソースコードを公開することにした。

ちょっと一人で開発を続けるのに時間がかかりすぎるのもあって公開に踏み切った。
あとサーバーの限界がわからないとか色々。
このブログと同じサーバーに上げているので何かあったらブログ共々ダメになるしね。

ソースコード:hosimitu’s k-twi at master – GitHub

それからどこかに使い勝手の良いサーバー無いかな?
GAEはダメじゃないけどフレームワークが動かせないし・・・。


投稿日   written by hosimitu

1月 25

プログラミングができなくても作れるTwitter botの作り方』の投稿部分を勝手にOAuthにした物を、著作権表記を付けたまま勝手に配布。
使い方は上記のページを参照。

ダウンロード

ダウンロード(ver.1.42をベースに独自にOAuth関係を組み込んだ) 動作確認済み
ダウンロード(ver.1.42をベースにver.2.04の機能を盛り込んだ) 動作未確認

著作権とか重要なお約束

twitterのbotなどで OAuthを使う方法(PHPバージョン2)』の記事を参考にOAuth登録出来た人のみが使用することを許される感じです。
『まずtwitterに登録しよう』以降を参考にして手順を進めてください。

OAuthを呼び出したりする部分のプログラムは『abraham’s twitteroauth at master – GitHub』を使っています。
また、twitterにOAuthを登録する部分のプログラムは『PHP+OAuthでTwitter』を使っています(; ・`д・´)

ライセンス関連がいまいちわからないのでご一報で即削除します。

仕組みとか

$oauthがtrueの時OAuthを使って投稿します。
falseの時は従来通りのユーザー名とパスワードで動きます。
OAuthを使う時パスワードは必要ないですが、ユーザー名は設定してください。
タイムラインから自分の発言を除いたりする時に使っています。

『Servises』フォルダ内の『Twitter.php』をリネームして『Twitter_oauth.php』とし、それを改造しています。

2010.1.30 記事修正
2010.3.5 ver.2を組み込んだものを公開

2010.3.16 プログラム修正
ユーザーさんから『Twitterbot の特定の単語に反応してリプライ反応するサンプルスクリプト ver.2』を使いたいと要望があったのでver1.42bを修正。
こんなことするのなんて今回だけなんだからねっ!
礼儀正しかったからしただけなんだからねっ!


投稿日   written by hosimitu

12月 14

今さら感が溢れる所なんだけど、自分最適されたものが欲しかったので作って見た。
CakePHPと言うフレームワークを使って、あとから機能が足せるように作っている。
そんなヤツの名前は『k-twi/けーつい』だ。

けーついのコンセプト

コンセプトはパケ死しない方向で。
今はまだ他と比べてダントツ軽いというわけではない。
基本的な機能を押さえているとは思うけど、公式より便利、他のクライアントよりは・・・と言う位置づけ。

いろいろ調べてるんだけど、2009年12月時点でクラウドサービスではcakePHPが動いた事例を見つけれていないので、
登録者数が増えたら登録を停止するかも知れない。
また、写真系の他サービスとも連携が取れていないところが痛いな。
自分一人の力の限界を感じてしまう(w_-; ウゥ・・

今後の方向性としては小ネタアプリの集合体にする予定。
友達間で遊べるゲームとかを作りたいなと。
アイデアは湧くけど、指先からコードが湧かない。

質問とかはメールかtwitterの方で。
すぐに返答できるとは限らないですが。。。

2010.2.16 追記
CakePHPで作った携帯用 twitterクライアントのソースを公開


投稿日   written by hosimitu

11月 20

twitterに興味がある人は、自分で組んだプログラムで自動投稿をするbotなんかを作ってみたいと思う事があるだろう。
つまづくところは色々あると思うけど、今回はtwitterに投稿する部分を紹介したい。
その他色々は『twitterのbotをphpで制作するまとめ』にあります。

2010/4/29 追記
以下は古い記事なのでこちらを参照した方が良いです。

OAuthとはどんなもの?

twitterに投稿する方法はBasic認証とOAuth認証がある。
自分が管理するbotならばパスワードを流出する機会がないと思うのでどちらでも良いのだけど、
セキュリティー以外の利点としてOAuthにすると投稿が『APIで』では無く、任意の文字にすることが出来る。

日の当たるあの庭で。

このように設定次第で出来るのだ。
それでは詳しい方法は続きで。

続きを読む


投稿日   written by hosimitu


Copyright © 2004-2010 星光のつれづれ日記
i3Theme 1.7 is designed by N.Design Studio. customized by hosimitu.