Facebook PHP throwing exception "(# 803) Некоторые из запрошенных вами псевдонимов не существуют"

У меня есть действительный и аутентифицированный пользователь, но при публикации на стене из нашего веб-приложения PHP он возвращает:

Fatal error: Uncaught OAuthException: (# 803) Некоторые из запрошенных вами псевдонимов не существуют: xxxxxxxxxxxxx "," name ":" xxxxxxx

У меня есть 24 других пользователя, которые могут отправлять сообщения без каких-либо проблем. И я вижу, что пользователь существует, перейдя на https://graph.facebook.com/xxxxxxxxxxxxx

Вот код:

$fb_user_id = $row[0]; // loaded from DB $facebook_token = $row[1]; // loaded from DB $result = $facebook->api('/' . $fb_user_id. '/feed/', 'post', array('access_token' => $facebook_token, 'message' => $postMessage, 'name' => 'Product name', 'caption' => 'Accomplished!', 'link' => 'http://www.xxxxxxx.com/', 'description' => $postMessage, 'picture' => 'http://img.ruphp.com/php/www.webcam.net')); 

Любые идеи, почему API Facebook считает, что этого пользователя не существует?

Solutions Collecting From Web of "Facebook PHP throwing exception "(# 803) Некоторые из запрошенных вами псевдонимов не существуют""

У меня была эта проблема, позже я понял, что сохраняю uid в своей базе данных как integer , однако новые профили facebook имеют очень длинные uids, такие как: 100004409446248 , это не значение, которое я мог бы сохранить как integer в моей базе данных mysql , Я изменил это, чтобы рассматривать его как varchar , так что теперь нет проблемы

Этот вопрос Получение списка друзей Facebook с последним API предлагает

$friends = $facebook->api('/me/friends');

Я написал две библиотечные процедуры для получения целых числовых запросов. Подобно опыту Дайнела, когда я использую intval() , я получаю недопустимую ошибку для идентификатора Facebook, вызывая эту ошибку.

Код:

 function get_int($field) { $value = 0; if(isset($_GET[$field])) $value = intval($_GET[$field]); return $value; } 

Я использую get_str для facebook_id, и проблема исчезла.

 function get_str($field) { $value = ''; if(isset($_GET[$field])) $value = $_GET[$field]; return $value; } 

Определите идентификатор APP как целое, а не строку!