API Graph не работает в старых IE - PullRequest
1 голос
/ 15 декабря 2011

Я не могу заставить API Graph Facebook работать в IE7, IE8 и Opera, пока он работает нормально в FF3.6, FF8, IE9 и Chrome.

Я следую заПоток на стороне клиента из документов аутентификации Facebook .

У меня есть ссылка Facebook Connect, и когда пользователь нажимает на нее, страница перенаправляется на:

https://www.facebook.com/dialog/client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&response_type=token

Пользователь входит в систему и авторизует приложение, если необходимо.

Страница redirect_uri прекрасно возвращает обратно access_token.Затем я пытаюсь выполнить ajax get для https://graph.facebook.com/me, чтобы просто вернуть общедоступные данные (мне нужно имя и идентификатор).

Запрос не выполняется.

Провести некоторое исследование и найти это stackoverflow post Я попытался изменить тип ответа ajax на 'text / javascript' (также пробовал несколько других).Возникают те же проблемы.

Удаление ajax из уравнения Я пытаюсь использовать API напрямую с помощью браузера (без входа в Facebook и без access_token), как в этом примере с Справочная страница API Graph Facebook .

https://graph.facebook.com/btaylor

Я могу просматривать его отлично в FF.Я могу скачать, а затем просматривать его нормально с IE9.Я получаю эту ошибку в IE8:

Невозможно загрузить btaylor / с graph.facebook.com.

Невозможно открыть этот Интернет-сайт.Запрашиваемый сайт либо недоступен, либо не найден.Повторите попытку позже.

При поиске ответов я обнаружил эту публикацию stackoverflow , и, конечно же, Graph API Explorer Facebook в Facebook не работает в IE8.

Я не могу найти больше по этой теме, которая, кажется, говорит, что я делаю что-то ужасно неправильно.Или разработчики отказались от IE <9? </p>

Ответы [ 2 ]

0 голосов
/ 15 декабря 2011

Прямой GET-запрос не работает в IE 8, потому что IE 8 не может понять формат JSON, в который возвращаются данные, и поэтому происходит сбой. Для ответа AJAX вы должны установить для ответа AJAX значение application/json, а не text/javascript. Есть ли причина, по которой вы не можете просто использовать Facebook JS SDK? Например:

FB.init({ // options });

FB.api('/me', function(response)
{
    // do stuff
});

На самом деле я не уверен, почему в IE 8 не работает проводник Graph API, но для меня обозреватель выдает ошибки Javascript, но не вылетает из браузера, в то время как загрузка ответа Graph через GET приводит к сбой браузера.

0 голосов
/ 15 декабря 2011

Я думаю, что это, скорее всего, просто опечатка с вашей стороны для вопроса, но правильный URL авторизации Facebook:

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&response_type=token

Кроме этого, я действительно не вижу ничего, что выделаю не так.Похоже, IE8 уже вышел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...