Как узнать имя пользователя Facebook, который оставил комментарий, используя FB.Event.subscribe - PullRequest
2 голосов
/ 20 мая 2011

Я пытаюсь выяснить, как получить имя пользователя Facebook, который оставил комментарий в плагине Comment Social, используя FB.Event.subscribe и событие comment.create.

Я вижу только2 объекта response:

  • response.href: URL-адрес страницы, на которой оставлен комментарий
  • response.commentID: идентификатор цепочки комментариев

Можно ли реализовать код на стороне клиента, чтобы получить имя пользователя Facebook, который оставил комментарий?Я пытаюсь сохранить дополнительную информацию для моего сервера, чтобы сделать вызов API графа, чтобы получить все комментарии, а затем попытаться выяснить, кто из пользователей оставил самый последний.Я думал, что мог бы быть способ выполнить запрос FQL, но я здесь в замешательстве.

Я подумал, что это будет очевидной вещью для события на Facebook, но их документация настолько беден, что я ничего не видел.

Обновление: Я пытался использовать FB.api, как было предложено другим пользователем, и использовать /me, но яне может использовать это, так как пользователь, оставляющий комментарий, не предоставил мне никаких разрешений.Это сбивало с толку, потому что они вошли в систему, чтобы оставить комментарий в поле для комментариев И имя пользователя является общедоступной информацией, если вы перейдете на страницу пользователя в Facebook.Поэтому мне нужен способ запросить комментирующее имя пользователя без использования /me в FB.api.

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Этот метод определенно работает, чтобы получить имя ... но есть проблема состояния гонки, если это поток, который получает тонну комментариев, так как запрос на получение комментариев может не отправляться до того, как будет сделан другой комментарий:

FB.Event.subscribe('comment.create', function(comment) {
    FB.api('comments', {'ids': comment.href}, function(res) {
        var data = res[comment.href].data;
        console.log(data.pop().from.name);
    });
});

Это работает без аутентификации пользователя вашим приложением.

0 голосов
/ 20 мая 2011

После прочтения комментария TMC ниже я понял, что это невозможно без разрешений. Если вы хотите этого, вам нужно будет попросить каждого комментатора предоставить вам основные разрешения.

ОРИГИНАЛЬНЫЙ ОТВЕТ

Вы можете использовать функцию Facebook Javascript SDK FB.api, которая работает так же, как функция API PHP SDK, но возвращает строку JSON. Посмотрите на эту страницу для документации. Возможно, вам также захочется взглянуть на Комментарии к объекту документации .

Комментарий имеет свойство from, которое дает id и name пользователя.

...