Facebook PHP throwing exception "(# 803) Некоторые из запрошенных вами псевдонимов не существуют"
У меня есть действительный и аутентифицированный пользователь, но при отправке на их стену из нашего веб-приложения PHP он возвращает:
Неустранимая ошибка: 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://www.xxxxxxx.com/images/productImage.png'));
Любые идеи, почему API Facebook считает, что этого пользователя не существует?
Ответы
Ответ 1
У меня была эта проблема, позже я понял, что я сохраняю uid в моей базе данных как integer
, однако новые профили facebook имеют очень длинные uids, такие как: 100004409446248
, это не значение, которое я мог бы сэкономить как integer
в моей базе данных mysql, я изменил это, чтобы рассматривать его как varchar
, поэтому теперь нет проблемы
Ответ 2
Этот вопрос Получение списка друзей Facebook с последним API предлагает
$friends = $facebook->api('/me/friends');
Ответ 3
Я написал две библиотечные процедуры для получения целых числовых запросов. Подобно опыту Dainel, когда я использую функцию 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;
}
Ответ 4
Определите идентификатор APP как целое, а не строку!