Как получить публичные сообщения на стене с API facebook

Я пытаюсь получить настенные сообщения из профиля facebook. У меня нет проблем с страницами поклонников, и мой токен пользователя действителен (по крайней мере, для страниц поклонников).

Пример с этим сообщением: https://www.facebook.com/aurelia.filion/posts/10151342315613445 Как вы можете видеть сообщение публично.

Итак, я пытаюсь: graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN graph.facebook.com/10151342315613445?access_token=MY_TOKEN

он возвращает:   "ошибка": {      "сообщение": "Неподдерживаемый запрос на получение".      "type": "GraphMethodException",      "код": 100

В моем Api graph explorer я тоже не вижу сообщений от этого пользователя. graph.facebook.com/529628444?fields=posts (529628444 - идентификатор aurelia.filion)

Так можно ли получить настенные посты? Это публично, что это должен быть способ получить их

спасибо


ok я объясню по-другому, моя цель - получить такие сообщения с графиком (я могу получить все остальные сообщения, кроме тезисов)

facebook.com/aurelia.filion/posts/10151342315613445

facebook.com/aurelia.filion/posts/10151336175793445

но я получаю сообщение об ошибке "Неподдерживаемый запрос на получение".

Я пробовал оба токена токена и приложения, эта ссылка не работает: graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN

когда я пытаюсь с фидом, я не вижу сообщения, которые я хочу там.

И если я запрашиваю сообщения graph.facebook.com/529628444/posts?limit=100&access_token=TOKEN я могу видеть все (ссылка, фото и т.д.), кроме смешных сообщений!!

Как я могу получить тезисы сообщений, это проблема с токеном, похоже, что это статус, не так ли получается, я имею в виду, нужны ли нам разрешения? graph.facebook.com/529628444?fields=statuses&access_token=TOKEN он не возвращает никаких результатов! его пустой!

ИЗМЕНИТЬ

Ответ 1

ИЗМЕНИТЬ

Этот ответ был записан, когда версия Graph API была в первой версии. Тогда вы можете получить фид пользователя с помощью идентификатора пользователя, а теперь идентификатор пользователя больше не используется совместно. Также facebook создал новый API, который доступен только некоторым из его партнеров.

Так что прямо сейчас вам не удается получить фид публичного пользователя, если пользователь не использовал ваше приложение. Вы все равно можете получить канал "Страницы".

Старая версия

Этот ответ был для графика api v1

Итак, вы должны использовать этот https://graph.facebook.com/529628444?fields=feed&access_token=YOUR_TOKEN

И если все, что вам нужно, это публичные данные запроса, вы можете создать токен APP, выполнив следующее:

https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&
grant_type=client_credentials 

И используйте этот токен вместо использования токена пользователя.

Ответ 2

Я не знаю, слишком ли старый пост, но я его нашел, пока искал решение моей проблемы.

В любом случае, я просто покажу, как мне удалось получить фиды от общего пользователя:

        var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";
        var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";

        $.get(fbul, function(auth_token){
            $.ajax({
                dataType: "jsonp",
                url: fburl+auth_token,
                success: function(res){
                    console.log(res);

                }
            });
        });

И вот небольшое объяснение: вам нужно перейти на консоль facebook dev (https://developers.facebook.com) и зарегистрировать новое веб-приложение. Просто зайдите в "Мои приложения" в верхней части Nav и продолжайте "Добавить новое приложение". Как только это будет сделано, вы сможете получить доступ к своему идентификатору приложения и к вашему APP Secret.

Первая ссылка "var fbul" - это получить ваш access_token, который вам нужен для доступа к каналам.

var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";

Просто измените [AppID] и [AppSecret] на свои собственные ключи.

Вторая ссылка - это доступ к фиду (мы не добавляем acces_token здесь, потому что мы делаем это в нашем запросе ajax)

var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";

Номер здесь (2013177599....) - это идентификатор канала с общедоступного сайта. Чтобы получить это число, просто перейдите на http://findmyfacebookid.com/ и введите URL-адрес Facebook в общедоступный пользователь.

Это почти все, что вам нужно.

Теперь напишите свой запрос ajax следующим образом:

$.get(fbul, function(auth_token){
            $.ajax({
                dataType: "jsonp",
                url: fburl+auth_token,
                success: function(res){
                    console.log(res);

                }
            });
        });

Теперь вы увидите результаты своей консоли.

Используйте функцию успеха, чтобы обрабатывать результаты так, как вы хотите.