トップページ⇒php
982コメント309KB

【Twitter】 BOT製作支援スレ part2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/01/18(月) 23:18:42ID:wnXKZf+j
前スレ
http://pc11.2ch.net/test/read.cgi/php/1254028559/
0696nobodyさん2010/09/01(水) 10:26:38ID:???
>>691
サーバーサイドの言語は何かな?
たいていはオプソのライブラリそろってるよ。
自分はPHPだけど、これ使ってます
http://twitteroauth.labs.poseurtech.com/connect.php
0697nobodyさん2010/09/02(木) 00:12:23ID:???
BASICで取得は出来ないようだけど、
投稿は出来るみたい。
中途半端過ぎる…
0698nobodyさん2010/09/03(金) 13:00:50ID:???
ウェブサイトでOAuthに対応した場合、
どうやってtwitterユーザーを判別すればいいのですか?
例えば、twitterユーザー名を表示するだけでも、
ウェブアプリ側でそのユーザー名を保持しないといけないわけですが
OAuthでは無理ですよね。
ついっぷるはOAuthのようですが、どうやって実装しているのでしょうか?
0699nobodyさん2010/09/03(金) 13:46:21ID:???
oAuthは大概ライブラリあるし、さがそうぜ
メジャーな言語ならoAuth込みのTwitter関連ライブラリあると思うけど、結構一から自作している人いるのか
0700nobodyさん2010/09/03(金) 17:33:09ID:???
フォームでアカウント&パスワード登録させるとかベタなことやろうとしてるならそりゃ無理だよ。
0701nobodyさん2010/09/03(金) 21:19:25ID:???
>>698
user_timelineを取得してその中のユーザ名を見てる
0702nobodyさん2010/09/04(土) 00:57:16ID:???
横からだが同じことで迷ってた。
API一回消費するけどそれで自分の最新ユーザ情報得られるし初回実行時にやっとくかな。
0703nobodyさん2010/09/04(土) 01:16:22ID:???
users/show が引数なしなら自分出せばいい話なのにめんどくさい話だな。
0704nobodyさん2010/09/04(土) 11:57:15ID:???
oAuthはさすがにライブラリだけどAPI部分は自作
BASIC認証使ってた頃はHTTPから自作だったけど
0705nobodyさん2010/09/04(土) 12:56:42ID:???
Basic認証のライブラリって意味あるのか?w
header文字列作ってくれるだけ?
0706nobodyさん2010/09/05(日) 10:22:42ID:???
「楽ボッツ」って使ってる人いる?どうなん?
ttp://rakubots.kissa.jp/
0707nobodyさん2010/09/05(日) 12:17:53ID:???
ここは製作スレなんでサービスの利用はクラスレの方じゃないかね
0708nobodyさん2010/09/05(日) 12:22:50ID:???
黙れ小僧
0709nobodyさん2010/09/05(日) 13:04:08ID:???
アイコンなおんねーなと思ったら、URLが変更になってたんだな。
アイコン以外は古いURLでも問題ないのに、問題の修正は新しいURLでしか行われなかったのね。
0710nobodyさん2010/09/05(日) 13:49:59ID:AGQD/Sbe
馬鹿には無理
0711nobodyさん2010/09/05(日) 15:45:01ID:???
>>709
公式からの情報くらいチェックしとけよ
0712nobodyさん2010/09/05(日) 16:38:16ID:???
いや、そうなんだけどさ、切り替えてすぐ使えなくなったら、気づくんだろうけど、
古いURLも使える状態から半年近くもたって障害が起こってそのまま古いほうだけ放置とか、わからんよ。

復旧の際に古いのだけ使えなくなったことが書いてあれば、すぐわかったんだろうけど、アレじゃ、わかんないよ。
アイコン以外は今もそのまま使えてるんだから。
0713nobodyさん2010/09/05(日) 18:11:39ID:???
oAuthを使う際にアプリケーションのURLを指定しますが、
このアプリケーションURLとは異なるドメインからtwitterに投稿させたいのですが、
何か方法はありますでしょうか?

具体的には、
mysite.com(登録したアプリケーションURL)と
mysite2.comというドメインがあり、

mysite.comでリクエストトークン取得したり、コールバックURLもこちらのドメイン内のものを指定します。
ただし、twitterに投稿する際には、mysite2ドメインのサーバでの処理が必須になっているため、
mysite2から投稿用のtwitterAPIを利用したいのです。

少し面倒なことをやろうとすると一つのドメイン内で全て処理が完結しない場合もあるかと思いますが
一般的にはどのように対処するのでしょうか。
0714nobodyさん2010/09/05(日) 18:28:21ID:???
半年近くも放置とか、わからんよ。
切り替えてすぐ使えなくなったら、文句垂れるくせに。
0715nobodyさん2010/09/05(日) 19:04:43ID:???
新しいURLでもアイコンエラー出るようになったw
0716nobodyさん2010/09/05(日) 20:18:51ID:???
>>713
トークン、共有するだけでいいんじゃねーの?
07177132010/09/05(日) 20:55:55ID:???
>>716

実際その方法を使っています。

�@mysite.comで取得したトークンをDBに入れる
�Amysite2.comでDBからトークン取り出してAPI実行

こうしてしまうと�Aの段階で、
twitterにアプリケーションを登録した際に登録したアプリケーションURLやコールバックURLのドメインと
異なるドメインからAPI実行することになってしまい、上手くいかないんです。
0718nobodyさん2010/09/05(日) 22:46:02ID:???
登録したときのURLって関係あるの?
0719nobodyさん2010/09/06(月) 02:15:04ID:???
application urlとcallback urlのドメインが違うとコールバック出来なかったはず。
0720nobodyさん2010/09/06(月) 04:28:14ID:???
ある条件を満たすとクロスドメイン出来るってどっかに書いてあった
0721nobodyさん2010/09/07(火) 19:55:49ID:???
投稿もブラウザ上からやってんの?
0722nobodyさん2010/09/11(土) 08:24:11ID:???
今週の木曜日、botジェネレータの鯖がダウンしていましたね。
0723nobodyさん2010/09/12(日) 15:25:13ID:???
Zend_Service_TwitterでOAuth認証させたいのですが、リダイレクト無しで実行させる方法はないでしょうか?
殆どのサンプルがリダイレクトさせてからパラメータ類を渡しています。

アプリケーションをクライアント型にしてPINを入力させる方法にすれば行けそうなのですが、サンプルがないので実装がわかりません。
どなたかご存じの方お願いします。
0724nobodyさん2010/09/13(月) 02:53:36ID:???
callback urlにoob
verifyにpinコード入力
0725nobodyさん2010/09/15(水) 17:25:53ID:yaiLgIne
phpではじめてServices/Twitterをつかってスクリプトを書いてみましたが
uncaughtってエラーが出ます

これってツイッターでは普通?
0726nobodyさん2010/09/15(水) 19:43:51ID:???
PHPのエラーじゃね
0727nobodyさん2010/09/16(木) 17:31:54ID:FSSYYQuQ
ぜんぜんPHPのAPI動かないなぁ
0728nobodyさん2010/09/16(木) 18:40:12ID:???
http://www.sdn-project.net/labo/oauth.html
この通りやっとけ
APIのURL古いままだけど
0729nobodyさん2010/09/16(木) 22:05:04ID:???
python-twitterをOAuth対応にするにはどのライブラリ使えばいいんだろ?
0730nobodyさん2010/09/16(木) 23:22:32ID:???
すこし前のレスも読めんのか
0731nobodyさん2010/09/16(木) 23:52:01ID:???
>>730
少し前ってのは>>668あたりのこと?
それpython-twitterじゃないよ
0732nobodyさん2010/09/17(金) 00:04:23ID:???
>>705
今時、GETやPOSTしゃべるのにheader出力もラップするライブラリばかりだから、
Basic認証部分もラップされてるだろ
あえて、Basic認証のライブラリ化を驚く以前にLLなら大概標準でついてないのか?
0733nobodyさん2010/09/17(金) 01:46:33ID:???
>>731
wgetですらリンクのリンク先を見る機能が付いているというのに
07347272010/09/17(金) 09:27:15ID:5afHtIbm
>>728
thx

設置する場所がPHP4なんでまんまは使えませんが
とりあえず現状で動くスクリプトとして参考にさせてもらいます。

動かなくなったスクリプトが大量にネットにありすぎ
0735nobodyさん2010/09/17(金) 10:30:53ID:???
未だにPHP4って・・・
0736nobodyさん2010/09/17(金) 11:08:05ID:???
>>735
レンタルサーバ屋に言ってくれ
0737nobodyさん2010/09/17(金) 11:08:52ID:???
botが@xxxxでダイレクトメッセージもらったときって、
どういう風に調べるの?

1分ごとにダイレクトメッセージ取得して新着があるか
チェックするとか、めんどくさいんですが。

ダイレクトメッセージもらった瞬間に、特定のURL叩いてくれるとうれしいんだけど。
0738nobodyさん2010/09/17(金) 12:01:25ID:???
そもそもxamppのPHPでAPIをテストしてるのって無理ですか?
0739nobodyさん2010/09/17(金) 17:36:36ID:???
>>736
そんなとこ借りてるお前が問題
0740nobodyさん2010/09/17(金) 19:59:43ID:???
それほどでも
0741nobodyさん2010/09/20(月) 02:56:09ID:???
全ツイートを捕獲してるサービスってどうやってんのかな
APIの制限からそんなに頻繁にはquery投げられないはずなんだけど
0742nobodyさん2010/09/20(月) 13:25:27ID:???
複数アカウントで取得しまくって、発言IDで重複を除外して結合、とか。
0743nobodyさん2010/09/20(月) 14:12:22ID:???
OAuthなら350回/時だから、約10.3秒に1回で、じゃあキリよく15秒として。
きっちり時刻合わせをした30台のPCが、0.5秒ずつ時刻をズラして取得したデータを
まとめ役PCに投げて、重複を除外する感じ?
何秒おきで何台あれば漏れがなくなるんだろう。
0744nobodyさん2010/09/20(月) 17:01:24ID:???
世界中のツイートを全部捕獲しているのがそんなんで間に合うわけがない
0745nobodyさん2010/09/20(月) 17:05:54ID:???
2月の時点で秒間600か
すごいな
http://blog.twitter.com/2010/02/measuring-tweets.html
0746nobodyさん2010/09/20(月) 19:18:11ID:???
そんなもんなのか…。
うちのサーバでも余裕で対処できそうだ。う〜ん。
0747nobodyさん2010/09/20(月) 19:49:51ID:???
今はピーク時で秒間1500くらいだよ。平均でも1000はある。
0748nobodyさん2010/09/20(月) 20:10:47ID:???
そんなもんなのか…。
うちのサーバでも余裕で対処できそうだ。う〜ん。
0749nobodyさん2010/09/20(月) 21:48:15ID:???
問題はそれだけのpublic timelineをどうやって読むかだな
複数アカウントしかないのか
0750nobodyさん2010/09/20(月) 22:57:32ID:???
数字はともかく、原理は>>743だな。
1回の取得で200件は取れるんだっけ?
1500件なら8分割で、11秒間隔とすれば
PCとアカウントが88あれば取れるのか。
多少の冗長性を持たせれば100か。
0751nobodyさん2010/09/20(月) 23:11:22ID:???
公式にかけあうともっと簡単にいけそーな気はする。
0752nobodyさん2010/09/20(月) 23:15:11ID:???
専用のAPIなかったっけ?
あと目的が確かならAPIの制限を五桁くらいに上げてもらえるとかあった気が。
0753nobodyさん2010/09/20(月) 23:17:03ID:???
ストリームのAPIあった気がした。
使ったことはないけど。
0754nobodyさん2010/09/21(火) 01:53:52ID:???
>>741
今って必殺のwhitelistは使えないの?
whitelist + user streamでいけないのかな
0755nobodyさん2010/09/22(水) 00:55:43ID:???
ツイッターで大規模不具合 総務省など注意呼びかけ

ミニブログ「ツイッター」で21日夜、大規模な不具合が発生し、
総務省地域力創造グループなどが利用に関する注意を呼びかけている。

ツイッター公式サイトからログインした場合、意図しないリツイートやつぶやきがされる場合がある。
同グループは「サイトの脆弱性を突いた攻撃が多発しています」などとして、
ツイッター公式サイトからのログインを避けるよう指摘している。
http://headlines.yahoo.co.jp/hl?a=20100921-00000619-san-soci
0756nobodyさん2010/09/22(水) 01:01:07ID:???
直ってから呼びかけられても。
0757nobodyさん2010/09/22(水) 01:35:53ID:???
一ヶ月以上前にそのバグ聞いてるのにほったらかしてた奴に言われても、なあ。
0758nobodyさん2010/10/04(月) 00:30:49ID:mV5TXUi/
あまり人がいなさそうだけど質問していいのかな…

最近oAuth認証とやらでtwitterと連携しているWebサイトが多いですが、
ユーザー管理はどのように行っているのでしょうか?

例えば、ついっぷるというサイトを使ってみたところ
twitterページでログインさせるだけでユーザーのマイページを作っているんですよね。

これはaccess_tokenをついっぷる側のDBに保存して、access_tokenとマイページ設定情報などを紐付けてるのでしょうか?
何かしらユーザーに紐付く情報をDBに保存しておかないと、ユーザーごとのマイページ情報を維持できないと思うのですが、
ユーザー登録を行っていないことを考えると
access_tokenぐらいしかユーザーを識別するものが無いと思うのですが、間違ってますか?
0759nobodyさん2010/10/15(金) 12:42:03ID:???
ttp://www.minawari.jp/tokyo
の右側になるみんなのつぶやきって、どうやって取得してるんだろ。
#xxnawari_tokyo がついているもののみをxmlで取得して解析してるんかな。

それだと#xxnawari_tokyoって
書かれたらスパムができまくるよね。
どうやってやるんだろ。
知ってる人いますか?
0760nobodyさん2010/10/15(金) 12:58:06ID:???
そうだねスパムできまくるね
ハッシュタグ検索の結果表示してるだけじゃねーの?
0761nobodyさん2010/10/15(金) 13:11:37ID:???
http://search.twitter.com/search.atom?q=%23minawari_tokyo
0762底辺2010/10/15(金) 22:56:15ID:???
>>760 761
ありがとう!
0763nobodyさん2010/10/16(土) 11:35:16ID:qyIaYYPU
OAUTH認証をしてアクセスキーとアクセスキーシークレットを取得→投稿とやると

Invalid / expired Token

とエラーが出てしまいます。
さっき取得したばかりのアクセスキーでも出てしまうのですが
どうすれば解決できるでしょうか?
0764nobodyさん2010/10/16(土) 11:57:13ID:???
すみません。
少し前進して、今度は

Incorrect signature

と出るようになってしまいました。
0765nobodyさん2010/10/16(土) 14:23:16ID:???
そのエラーは何が出したの?
0766nobodyさん2010/10/16(土) 14:38:24ID:???
ユーザーが登録すると、毎日定時にユーザーのアカウントにお知らせを投稿する
Webアプリを作ろうとしているんですが
ブラウザタイプでは駄目だとわかってクライアントタイプで作っているところです。
ローカルから投稿はできるようになったのですが、今はPINコードを入力して貰うところの書き方を調べています。
0767nobodyさん2010/10/16(土) 17:27:58ID:???
アクセストークンは、ちゃんと毎回取得してる?
0768nobodyさん2010/10/16(土) 17:33:29ID:???
毎回っつーと変だな。
一度もらったPINコードは使い回したりしてないよね。
0769nobodyさん2010/10/16(土) 18:14:08ID:???
やはり大変ですか…。
今日一日費やして進めずに絶望しているところです orz
サイトのデザインを最初に作ってしまっただけに後に引けないという。

202028375-m0HDwIbbWTxq8bc9VnJIuw63kemWwDxZBjssxT6r
アクセストークンをこういう形で取得したいのですが


G52QjGreuw4syQtsrGbk3VtE4YgEM94xxibxcHczcs
こうなってしまいます。
PINを渡しているつもりなんですが、何が悪いんでしょうか?

後二、三日悩んで駄目だったら諦めます。
0770nobodyさん2010/10/16(土) 18:16:21ID:???
>>767
クライアントタイプにすれば最初だけで使い続けられると思ったんですが違うんでしょうか?

>>768
使い回してません。
0771nobodyさん2010/10/17(日) 15:31:57ID:???
どっかからライブラリ拾ってこいよ。
それか、コード晒そうぜ。
0772nobodyさん2010/10/19(火) 11:30:00ID:???
Twitter4Jなら、サンプルコードを見れば自力でクライアント作れるよ。
後はデザインだけの問題。
0773nobodyさん2010/10/21(木) 02:58:59ID:???
便利なライブラリがあるのに、何故使わないのだ
0774nobodyさん2010/10/21(木) 23:56:54ID:???
C#でクライアント作ったときはまともに日本語とおるOAuthライブラリが見つからなかったから、
自分で実装したけど、まぁ、たいしたことなかったよ。
他の言語の実装見ながらやればだいたいできる。

でも、拾ってきたほうが楽なのは間違いない。
0775nobodyさん2010/10/25(月) 23:54:34ID:???
mentions発したユーザをフォローする機能を作りたいんだけど、mention->user->followingを見てfalseならfollowしている。
だけどどうやら、followingに正確な値が入ってない気がする。
検索したら>>194で出てたけど。

followingのユーザにfollow送ったら403が帰ってくるから気持ち悪い。
自分のfollowersを見て、その中に入っているかどうかで調べるしかないんだろうか。

お願いします。
07767752010/10/26(火) 00:04:48ID:???
自己解決。
followingは廃止予定だそうで。

friendships/show
friendships/exists
このどちらかを使えだそうです。お騒がせしました。
0777nobodyさん2010/10/26(火) 00:34:43ID:???
777
0778nobodyさん2010/10/26(火) 11:39:54ID:???
API、変化してるな〜。
0779nobodyさん2010/10/26(火) 17:26:31ID:???
ここで聞いていいかわからないけど
botのIDでログインしていないのに(自分の個人アカでログインしている)
ページを開き直したときとか勝手にbotのアカウントでログインしてる現象が
一昨日くらいから出てるんだけど他にもこういう人いる?
うっかりbotアカで呟いてしまいそうになって困る
0780nobodyさん2010/10/26(火) 17:47:51ID:???
勝手にログインしちゃマズいよな。
ブラウザは何? ちゃんとログアウトしている?
0781nobodyさん2010/10/26(火) 18:04:25ID:???
ブラウザはIE8です。webで使ってるときだけかも。クライアント使っていないので不明。
botでログインしたときログアウトはちゃんとしています。
最初は気のせいかと思ってたけど
例えば診断系をやってツイートしようとすると新しいページが開くけど
それが個人アカではなくbotアカになってしまったりする。
勝手に個人ログアウトbotログインされてる状態。
とりあえず気をつけているけど前からこういうのあったのかな。
0782nobodyさん2010/10/26(火) 19:20:10ID:???
twitter.comのクッキーを調べたら、アカウント名が入っていた。
クッキーをその都度消すか、注意深くログインするか、
別なブラウザ(又はクライアント)を入れて使い分けるか、かな。
0783nobodyさん2010/10/27(水) 10:33:00ID:???
GAE-cronがVer.0.02になったよ
ttp://d.hatena.ne.jp/furyu-tei/20101025/gaecron
0784nobodyさん2010/10/27(水) 23:06:51ID:???
またアイコン不具合だな
0785nobodyさん2010/10/28(木) 00:08:30ID:???
ちなみに、みんなは何の言語+ライブラリで開発してるの?
APIを直叩きしてる人には濡れる。

俺は、php+twitteroauthだな。
http://github.com/abraham/twitteroauth
0786nobodyさん2010/10/28(木) 18:25:52ID:???
Java+Twitter4J。
人が多くいる所ならノウハウも蓄積されるだろうし、困った時には助かるだろうなと。
0787nobodyさん2010/10/28(木) 19:51:07ID:???
>>779
おれはbot垢は火狐で、自アカは黒目でログインするようにしてるわ。
0788nobodyさん2010/10/28(木) 22:36:49ID:???
OAuth以外はRuby標準ライブラリしか使ってない。
0789nobodyさん2010/10/29(金) 17:58:54ID:???
C#,OAuthクライアントから作った。
0790nobodyさん2010/10/29(金) 18:54:17ID:???
鯖がPHP5.2未満だからライブラリ使えなかったお
0791nobodyさん2010/10/29(金) 20:27:36ID:???
>>786>>788->790
使い勝手はどう?
自分で言い出したからまず自分で感想を。

php+twitteroauthはかなりいい感じ。
OAuth用ライブラリと、twitterに特化したライブラリが内包されている。
twitterbotを作りたいなら、OAuth用ライブラリを使う必要がない(twitterに特化したライブラリがラップしてるイメージ)。
メソッドは文字列、パラメータは連想配列で直感的にget/postすることができて、取得もアロー演算子で直感的に(phpにはjsonをデコードする関数がある)。
$mentions[$n]->user->id というふうにいける。
0792nobodyさん2010/10/29(金) 21:46:28ID:IS2CJKz4
Perl+Net::OAuth
つまりAPI自体は直、BASIC認証の頃はソケットでHTTPごとやってた


ボットを作りたいんじゃなくてTwitterAPIを触りたくて始めたからな。
0793nobodyさん2010/10/29(金) 22:41:34ID:???
788だけど、
Ruby + OAuth(gem) + 下のOAuthパッチ(最新ではいらない)を使ってる。
http://d.hatena.ne.jp/shibason/20090802/1249204953

XML用のライブラリ使ってる。戻ってきたXMLに対して次のようにアクセス。
XPathなので比較的楽。
--
Document.new(body).elements.each("*/status") {|item|
 name = item.elements["user/screen_name"].text
 …
}
--

OAuthは通常のHTTP操作と似てるけど、一緒ではないのでだいぶ書き直した。
Ruby使ってる理由は慣れが一番大きい。
ライブラリはよほど便利なのがない限り使わない主義。
あとTwitter APIとは関係ないけど、Nokogiriってライブラリが便利。
逆に困るのは、ライブラリが枯れてないこと。
仕事で作るなら多少面倒でもJavaを使うと思う。
07947902010/10/30(土) 02:38:14ID:???
ライブラリ使えなかったからネットで公開してくれてるコードをtwitterの公式ドキュメントを見ながら改造した。
頭悪いから苦労したお。
使い勝手は普通。
0795nobodyさん2010/11/05(金) 19:40:58ID:???
今日の6時頃くらいからreply先がわからなくなったんだが
一時的なのかそれとも何か変更あったのかな
■ このスレッドは過去ログ倉庫に格納されています