【未解決】Oauthに苦戦中|TwitterTools2.4(2010.9.8追記)

先日良く見ないで買ったボトルガムがイチゴ味+メロン味でやられ気味のフジカワです、こんにちは。と思ったのですが慣れてきたら意外においしいです。自分の適応能力に感謝。

TwitterToolsが動かない

9月1日のブログ投稿を最後に、投稿時に自動的にTwitterにつぶやきを吐き出してくれるプラグインTwitterToolsが機能停止におちいってる模様。時期を同じくしてWordPress本体の不調で再インストールしたり、あちこちプラグインを弄ったりしてたのでそれが原因かと思いきや、9月1日(日本時間は少しズレあり?)からTwitter側の外部アプリからのアクセス時認証方法が変更になっていたのが原因の様子。Oauth認証というものに変更されるとは認識していたが、まさかここまでキレイに機能停止になるとは思わなんだ。

バージョンアップを試みる

というわけで、TwitterToolsの最新版を調べたところ、新しい認証システムであるOauthに対応しているという事がわかったのでWordPressへの適用を試みる。すでに作業を完了し、ブログで紹介してくれている方も多かったのでそれらを参考に作業。

…したのだが、上手くいかない。
さほど難しい作業ではないと思うのだが。

もし下記作業手順をみて
「ココがおかしい」
「その環境ではこの作業が必要だ」
等のアドバイスがあれば、是非お知恵をお貸しいただけると大変ありがたいです。

稼働環境

サーバ:XREA
WordPressのバージョン:3.0.1
※Twtter Tools 2.3.1は問題なく機能しておりました。

問題発生までの作業手順

1.旧バージョンプラグイン停止
2.FTPから旧バージョン削除
3.ダウンロードした最新版(ver.2.4)をFTPでアップロード
4.WP管理画面から有効化
5.管理画面のTwitter Tools設定
20100906 01 266x300 【未解決】Oauthに苦戦中|TwitterTools2.4(2010.9.8追記)
6.”Twitter’s app registration page”のリンク先でアプリケーションを設定。
20100906 02 218x300 【未解決】Oauthに苦戦中|TwitterTools2.4(2010.9.8追記)
7.取得した各情報(Twitter Consumer Key、 Twitter Consumer Secret、Access Token、Access Token Secret)を管理画面に入力して、”Connect to Twitter”をクリック
20100906 03 201x300 【未解決】Oauthに苦戦中|TwitterTools2.4(2010.9.8追記)
20100906 04 360x228 【未解決】Oauthに苦戦中|TwitterTools2.4(2010.9.8追記)

問題の現象

で、本来は次に認証が通ってTwitter Toolsの各種設定画面に遷移すると思われるのですが、真っ白の画面が表示されてその後の動きがありません。真っ白な画面はソースは一切なく、URL は”http://blog.sugulab.com/wp-admin/options-general.php”となっています。

利用環境その他

このWordPressを稼動してるXREAで動くPHPはセーフモードであり、そちらの問題については
/wp-admin/.htaccess

<files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files update.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>


という既述を入れることで対応しています。

なんとなく.htaccessへの追記等によるサーバ側への設定追加などが必要な感じがするのだけれど、どうも上手くいかないわけで。
そろそろ他のプラグインを探そうかとも思ったのだけれど、ちょっと負けた感じになるのがいやだったり、他にも同じ問題でうんざりしてる方がいるような気がするので、ここはひとつ気合を入れて解決しておこう、と考えた次第です。

良いお知恵をお持ちの方、いらっしゃいましたらご連絡いただけますとうれしゅうございます。

その後の作業内容

【追記2010年9月7日】
その後試している事

1.options-general.phpをCGIモードで→NG

.htaccessに

<files options-general.php>
AddHandler application/x-httpd-phpcgi .php
</files>

としてoptions-general.phpをCGIモードで動かしてみたが、phpのエラーが出てしまい動作せず。
結論:XREA上で動くWordPressのphp(セーフモード)が原因ではない。

2.XREAに別のDB構築+新規WPをインストール

同一のサーバに
・新規DB
・新規WordPress
を用意し、TwitterToolsのみをプラグインとしてインストールしたが、動作せず。
結論1:既存のWordPressのDB破損が原因ではない。
結論2:プラグイン同士のコンフリクトが原因ではない。

本国のフォーラムチェック

Search › Twitter Tools 2.4
を見てみたが、その多くはphpのバージョン問題と吐き出されたphpエラーについてである。
結論1:phpのバージョンが原因ではない。(使用中のphpはver.5)
結論2:phpエラーの場合はエラーがモニタに吐き出されるように設定しているので、phpのエラーではない。

【追記2010年9月8日】

別のOAuth認証使用のプラグインを試す

WordPressからOAuth認証でtwitterにアクセスする別のプラグイン
・Tweetable
・simple-tweet
を試すが、TwitterToolsと同様にどちらも設定途中で真っ白の画面になってしまう。
どうやらWordPress側のプラグイン設定画面からTwitter側の認証画面に遷移する段階でこの症状が起きている模様。予測ではRequest Tokenを取得できていないのではないかと思われる。
これでいよいよWordPressプラグイン・Twitter側の問題ではなく、XREA側の問題である可能性が高そう。
何かこちらですべきこと、インストールすべきプログラム等あるのだろうか。

フォーラムからの情報

この件についての問題は
・ロリポ
・サクラ
では出ていない様子。
一方、原因は異なる可能性はあるが、
・チカッパ
ではphpのエラーを吐いた上で機能しないという情報を頂いた。

Fatal error: Call to undefined method TwitterOAuth::get() in 省略 /wp-content/plugins/twitter-tools/twitter-tools.php on line 1623

14個のコメントあるよ

  1. チカッパでエラーを吐いた方と同じ現象がロリポップで起きております。
    解決でなく恐縮ですが、情報共有でした。。。

    同様に9月1日から利用出来ず困っております。自分の方でも何かわかりましたら共有します。

  2. 情報ありがとうございます。
    実はこのエラー、その後XREAでも確認しておりました。
    上記エラーが出たり、真っ白な画面になったりで、今もって原因が良く分かっていません。
    ちなみに、
    ・同一サーバーに
    ・新規で別のWordPressをインストール
    ・追加プラグインはtwitter toolsだけ
    という状態でも試してみたのですが、相変わらずの症状でした。
    なので、プラグイン同士のコンフリクトという線はなさそうなのです。
    XREAにこの件についての質問をしたところ、
    ======================
    大変申し訳ございませんが、弊社ではユーザー様ご利用スクリプトの動作保証は行っておりません。
    そのため、上手く動作しない、あるいは、動作していたものが動作しなくなったという場合であっても、サポートすることができません。
    ======================
    との事です。
    うーん、こちらももう少し頑張ってみますー。

  3. black-tamの早起きは10文の得! - Twitterまとめ投稿の方法を変更

    [...] イミングで、プラグインがうまくうごかなくなってしまいました。 【未解決】Oauthに苦戦中|TwitterTools2.4(2010.9.8追記)でも別事象ではありますが、同様に困っている方がいらっしゃり、 [...]

  4. コメントありがとうございます。
    僕は申し訳ないことに、TwitterToolに見切りをつけて、別のやり方にしました。
    URLにまとめたことを書いておきましたので、もしよければ参考にしてください。。。

  5. >black-tam
    連絡ありがとうございます。
    ご紹介いただいたURLも拝見させていただきました。
    いよいよ諦めムードが漂い始めたら利用させていただきたいと思っています。
    もう少し粘りますが(笑)。

  6. 私も同様の現象でこちら行き着きました。
    色々調べるうちに「cURL」が使えるか使えないかによるもののようですね。
    http://php.net/manual/ja/book.curl.php
    同様のプラグイン(Twitter Tools・Tweetable・simple-tweet)は
    OAuth認証に「cURL」が必要なようです。
    phpinfoで確認したのですが、案の定うちのサーバーは使えませんでした。。。

  7. >hide
    コメントありがとうございます。
    どなたかがXREAにcURLが入っているかどうかを調べられてて、入ってたという結論を出してた記憶があり、その後はそこに関する意識が飛んでました。
    たしかにサーバによっては構成が異なりますよね。迂闊でした。
    というわけでさっそく調べてみようと思います。

    ちなみにhideさんはXREAでcURLを使う事でOAuth系が有効になったのでしょうか?

  8. うちはsymphonic-net(http://www.symphonic-net.com/)さんでお世話になってます。
    フォーラムを見る限り管理が複雑なのでcURLは今後も使えないみたいです。

    検証もできず原因を確定するような言い回しで書き込みしちゃって申し訳ないです。
    ひとつの可能性として捉えていただければ・・・
    うまくいけばいいですね!

  9. >hide

    >検証もできず原因を確定するような言い回しで書き込みしちゃって申し訳ないです。
    いえー、とんでもないです。
    ささいな情報もありがたい今日この頃です。

  10. 自宅サーバにて同様の現象が発生しました。(白紙ページから進まない)

    自宅サーバでしたのでphp-curlのインストールと、php.iniへextension=curl.so;を記述したところ正常に動作しました。

    xreaでcurlが動くかどうか、数行のphpスクリプトを記述して確認してはどうでしょうか

  11. >irgaly
    情報ありがとうございます。
    調べたところXREAサーバにはphp-curlがインストール済みだった気がするのですが、再度やってみますね。
    気軽に使えるところが気に入ってXREAを選択したのですが、こういう状態になっているのでそろそろ別サーバに乗り換えも検討しています。
    が、その前にもうひとふんばりしてみます。フロントエンド側の人間にはサーバ側は奥が深い…。

  12. XREAってPHPはcgiモードですか?
    でしたらそのままだと、getallheaders関数が動かないのでヘッダが取得できず、OAuth認証動かないかもです。

  13. >haruhito
    貴重な情報ありがとうございます。
    仰る通りXREAのphpをcgiモードで動かしています。セーフモードではいかんのかと思いまして。
    もしかしてまさかのセーフモードで稼動するのでしょうか?
    ちょっと私事周辺とお仕事の方が忙しくてせっかくの皆様からのアドバイスが実践できていない状態が続いているのですが、
    なんとかやってみたいと思います。
    いや、この場にて多くのアドバイスを下さっている皆様、本当にありがとうございます。

  14. Note » Blog Archive » links for 2010-11-25

    [...] スグラボ » 【未解決】Oauthに苦戦中|TwitterTools2.4(2010.9.8追記) TwitterToolsのOauth対応に苦戦中 (tags: twitter Oauth あとでがんばる) [...]

コメントを残してみる

コメント