HTML/JQuery для получения сообщений на стене с указанной страницы Facebook

Я пытался и пытался заставить Open Graph работать самостоятельно без какой-либо удачи. Я также пробовал альтернативные варианты, такие как вызов ajax работает в Chrome, Firefox, но не в IE?, но это имеет серьезные проблемы.

Я хотел бы получить полное решение для использования Open Graph для извлечения всех сообщений на стене с указанным идентификатором профиля Facebook. Он должен получить токен доступа без входа пользователя в Facebook. редактировать: у меня есть приложение с идентификатором приложения и секретом приложения. Разве я не могу использовать это, чтобы получить Access_token? Я хочу, чтобы пользователи без учетной записи Facebook могли видеть сообщения на стене этой детской страницы (в этом вся суть создания отдельного сайта).

Что бы это ни стоило, это сайт для ребенка с терминальной опухолью головного мозга... который оставляет меня в положении, когда я не могу предъявлять требования (например, потратить 50 долларов на SSL или "просто использовать Facebook"),

Я думаю, что единственное, что мне нужно, это получить access_token. Это не может быть так сложно.

4 ответа

Решение

  • ВНИМАНИЕ: этот ответ отвечает на ваши вопросы и кто-то должен закрыть хотя бы один из них

поэтому мое решение этой проблемы простое; Вы все еще продолжаете использовать AJAX для выполнения запроса к Facebook, но не напрямую.

поэтому ваш код будет выглядеть примерно так:

        $(function() {
            $.ajax({
                url : 'ajax-handler.php',
                data : 'action=get_access_token',
                type : 'GET',
                dataType : 'json',
                success : function(json) {

                }
            });
        });

затем на ajax-handler.php файл вы положите все вещи, необходимые для получения access_token и другая информация.

псевдокод на стороне сервера (я использую здесь php) будет выглядеть примерно так, но вам нужно использовать php sdk для лучшего кодирования...

<?php
$action = $_GET['action'];
if (isset($action)) {
    switch($action) {
        case 'get_access_token' :
            $query = array('client_id' => '####', 'client_secret' => '####', 'grant_type' => 'client_credentials');

            $access_token = file_get_contents('https://graph.facebook.com/oauth/access_token?' . http_build_query($query));

            //$access_token will be like access_token=asdas8dd98sada...
            //but we don't use it here...

            $app =   file_get_contents('https://graph.facebook.com/######');

            echo $app;
            break;
    }
}
?>

и вот результат:

У меня нет готового решения (извините, не хватает времени), но я могу предложить способ обойти междоменные запросы:

easyXDM - это библиотека Javascript, которая позволяет вам, как разработчику, легко обойти ограничения, установленные Единой политикой происхождения, что, в свою очередь, упрощает взаимодействие и предоставление API-интерфейсов JavaScript через границы домена.

Пример: http://easyxdm.net/wp/2010/03/17/cross-domain-ajax/

Ваш аккаунт в Facebook дружит с его аккаунтом? Если это так, вы можете создать свой собственный токен доступа для своей учетной записи и просмотреть ленту ребенка, используя свой собственный токен, используя https://graph.facebook.com/id-or-alias/feed

Только общедоступные данные на графике могут быть доступны без действительного токена доступа. Список этих доступных публичных массивов можно найти здесь. Сообщения пользователя могут быть просмотрены с помощью /me/feed Вызов API, но для этого действия требуется токен доступа.

Другие вопросы по тегам