Facebook, выдает исключение PHP "(# 803) Некоторые из указанных вами псевдонимов не существуют" - PullRequest
10 голосов
/ 05 мая 2011

У меня есть действительный и аутентифицированный пользователь, но при публикации на его стене из нашего веб-приложения 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 считает, что этого пользователя не существует?

Ответы [ 4 ]

26 голосов
/ 05 августа 2011

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

1 голос
/ 05 мая 2011

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

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

0 голосов
/ 04 февраля 2012

Определить идентификатор приложения как целое число, а не строку!

0 голосов
/ 06 октября 2011

Я написал две библиотечные процедуры для получения целочисленных строк запросов.Аналогично опыту 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...