[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
この機能を使うにはJavaScriptを有効にしてください
|
レス数が900を超えています。1000を超えると投稿できなくなるよ。
TwitterBotPHP質問スレ
531
:
名無しさん
:2010/10/26(火) 23:09:45
>>530
>>525
です。
なぜアイコン変更の改造を挙げたかというと、「Incorrect signature」が出たり出なかったりするのは、「認証情報またはヘッダーを処理の途中で書き換えている」可能性が高いからです。
他の改造は認証情報やリクエストヘッダーを変更することは無いので、一度認証が成功していれば、ツイッター本体の不調でも無い限り、1ターンの間に認証出来たり失敗したりという現象はほぼ発生しません。
ところがアイコン変更など、ファイルのアップロードを伴う処理は、リクエストヘッダー(content-type)を通常oAuthが使用するapplication/x-www-form-urlencodedからmultipart/form-dataに書き換えるので、content-typeをapplication/x-www-form-urlencodedに戻さなければ、その後のPOSTで、「Incorrect signature」が確実に出ます。
お書きになっていた現象がそれに似ていたので、お伺いした次第です。
もしホスティング提供のPEARライブラリではなく、自分のサイトに置いてあるPEARを使用しているようなら、
easybotter同梱のPEARとDFなどのツールでコンペアしてみてはいかがでしょう。
もしかしたら、どこかに差異があるかもしれません。
また、どのリクエスト(またはどのリクエストの後)に「Incorrect signature」が返って来ているかを特定するために
_setData関数と_getData関数のreturn $response;の直前に
var_dump($url);
var_dump($value);
var_dump($response);
を入れて、しばらくログを取ることをお勧めします。
ログの取り方→
http://twbot.blogspot.com/2010/08/easybotter2.html
ちなみに、TLが取得出来ているかいないかはreplyTimeline関数の
$timeline = $this->getFriendsTimeline();
$timeline = $this->getRecentTweets($timeline, $cron);
$timeline = $this->selectTweets($timeline);
$timeline = $this->removeRepliedTweets($timeline);
の全行間に
var_dump(count($timeline));
をいれれば、最初に何件取得して、どの処理で削られて、最終的に何件残ったかがわかります。
更に、
$timeline = array_reverse($timeline);
の後に
var_dump($timeline);
と書けば、残ったTL(処理対象)が全件表示されるので、
これも一日二日ログを残せば、TL取得できているかいないかがはっきりします。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板