2012年10月15日月曜日

[Error記録]"Sorry, that page does not exist","code":34

Twitter OAuth認証時に新たなErrorが出た。

ブラウザ上ではこのようなError。
5~11行目を見るとわかるように、requestTokenとaccessTokenの取得には成功しているのに、
なぜか、11行目でTwitter側から情報が取得できず、 "Sorry, that page does not exist","code":34
 というメッセージが返ってきている。
ただ、この状態で、別画面に遷移してみると、認証されてユーザ情報が表示された。
ログイン時、ユーザ情報をTwitter側から更新する仕組みになっているが、
更新は行われず、取得したaccessTokenでログインのみした状態となったと思われる。


Notice (8): Undefined index: id_str [APP\controllers\users_controller.php, line 66]Code | Context            )));
        }
        $output = call_user_func_array(array(&$controller, $params['action']), $params['pass']);$consumer    =    OAuth_Consumer

$requestToken    =    OAuthToken
OAuthToken::$key = "XXXXXXXXXXXXXXXXXXXXX"
OAuthToken::$secret = "XXXXXXXXXXXXXXXXXXXXX"
$accessToken    =    OAuthToken
OAuthToken::$key = "XXXXXXXXXXXXXXXXXXXXX"
OAuthToken::$secret = "XXXXXXXXXXXXXXXXXXXXX"
$json    =    "{"errors":[{"message":"Sorry, that page does not exist","code":34}]}"
$twitterData    =    array(
    "errors" => array(
    array()
)
)UsersController::twtrCallback() - APP\controllers\users_controller.php, line 66
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 204
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171
[main] - APP\webroot\index.php, line 86
Notice (8): Undefined index: screen_name [APP\controllers\users_controller.php, line 67]Code | Context            )));
        }
        $output = call_user_func_array(array(&$controller, $params['action']), $params['pass']);$consumer    =    OAuth_Consumer

$requestToken    =    OAuthToken
OAuthToken::$key = "XXXXXXXXXXXXXXXXXXXXX"
OAuthToken::$secret = "XXXXXXXXXXXXXXXXXXXXX"
$accessToken    =    OAuthToken
OAuthToken::$key = "XXXXXXXXXXXXXXXXXXXXX"
OAuthToken::$secret = "XXXXXXXXXXXXXXXXXXXXX"
$json    =    "{"errors":[{"message":"Sorry, that page does not exist","code":34}]}"
$twitterData    =    array(
    "errors" => array(
    array()
)
)UsersController::twtrCallback() - APP\controllers\users_controller.php, line 67
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 204
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171
[main] - APP\webroot\index.php, line 86
Notice (8): Undefined index: profile_image_url [APP\controllers\users_controller.php, line 70]Code | Context            )));
        }
        $output = call_user_func_array(array(&$controller, $params['action']), $params['pass']);$consumer    =    OAuth_Consumer

$requestToken    =    OAuthToken
OAuthToken::$key = "XXXXXXXXXXXXXXXXXXXXX"
OAuthToken::$secret = "XXXXXXXXXXXXXXXXXXXXX"
$accessToken    =    OAuthToken
OAuthToken::$key = "XXXXXXXXXXXXXXXXXXXXX"
OAuthToken::$secret = "XXXXXXXXXXXXXXXXXXXXX"
$json    =    "{"errors":[{"message":"Sorry, that page does not exist","code":34}]}"
$twitterData    =    array(
    "errors" => array(
    array()
)
)UsersController::twtrCallback() - APP\controllers\users_controller.php, line 70
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 204
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171
[main] - APP\webroot\index.php, line 86
Warning (512): SQL Error: 1048: Column 'user_id' cannot be null [CORE\cake\libs\model\datasources\dbo_source.php, line 684]Code | Context
        if ($this->error) {
            $this->showQuery($sql);$sql    =    "INSERT INTO `users` (`user_id`, `user_name`, `access_token_key`, `access_token_secret`, `img_url`, `updated`, `created`) VALUES (NULL, NULL, 'XXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXX', NULL, '2012-10-15 16:15:39', '2012-10-15 16:15:39')"
$error    =    "1048: Column 'user_id' cannot be null"
$out    =    nullDboSource::showQuery() - CORE\cake\libs\model\datasources\dbo_source.php, line 684
DboSource::execute() - CORE\cake\libs\model\datasources\dbo_source.php, line 266
DboSource::create() - CORE\cake\libs\model\datasources\dbo_source.php, line 750
Model::save() - CORE\cake\libs\model\model.php, line 1342
User::update() - APP\models\user.php, line 52
UsersController::twtrCallback() - APP\controllers\users_controller.php, line 72
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 204
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171
[main] - APP\webroot\index.php, line 86
Query: INSERT INTO `users` (`user_id`, `user_name`, `access_token_key`, `access_token_secret`, `img_url`, `updated`, `created`) VALUES (NULL, NULL, 'XXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXX', NULL, '2012-10-15 16:15:39', '2012-10-15 16:15:39') 
Warning (2): Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\rakuzon\cake\libs\debugger.php:686) [CORE\cake\libs\controller\controller.php, line 742]Code | Context */
    function header($status) {
        header($status);$status    =    "Location: http://127.0.0.1/rakuzon/main/index"header - [internal], line ??
Controller::header() - CORE\cake\libs\controller\controller.php, line 742
Controller::redirect() - CORE\cake\libs\controller\controller.php, line 721
UsersController::twtrCallback() - APP\controllers\users_controller.php, line 82
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 204
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171
[main] - APP\webroot\index.php, line 86 
https://dev.twitter.com/discussions/11595
ここに対処策が出ていた。 ユーザ情報を引き出す際のURLを以下のように変更したら正常に動作した。
http://twitter.com/account/verify_credentials.json
 ↓
http://api.twitter.com/1/account/verify_credentials.json

また、以下のページによると
https://dev.twitter.com/discussions/10803 
現在以下を使用できないように変更中のようだ。
  • All API endpoints on www.twitter.com and twitter.com.
  • Endpoints on api.twitter.com without /1, /1.1 or /oauth in the fully qualified URL.
私の場合、twitter.comでアクセスし、1や1.1等のバージョンも無かったのでだめだった。
ただ、ソースの他の部分でまだtwitter.comで動いているところもあるので、
バージョンが無いのがダメだったということだろう。
twitter.comのままの部分は直さないと
今後またおかしなエラーが発生してしまうかもしれない。

0 件のコメント:

コメントを投稿