2011-12-14 7 views
1

Я не могу заставить API-интерфейс Facebook работать в IE7, IE8 и Opera, пока он отлично работает в FF3.6, FF8, IE9 и Chrome.График API не работает в старых IE

Я следую потоку на стороне клиента из Facebook authentication docs.

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

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

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

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

Запрос не получается.

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

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

https://graph.facebook.com/btaylor

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

Невозможно скачать btaylor/from graph.facebook.com.

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

В поисках ответов я нашел этот stackoverflow post, и конечно же Facebook, Graph API Explorer не работает в IE8.

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

ответ

0

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

FB.init({ // options }); 

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

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

+0

Спасибо Джимми за ответ. Я попытался использовать application/json для ответа ajax, но получить ту же ошибку. Мы пытаемся отойти от JS SDK, потому что у нас есть проблемы с разрешениями, и мы находимся под впечатлением, что он устарел. Похоже, это не совсем так [ссылка] (http://stackoverflow.com/questions/6591960/when-is-facebook-deprecating-the-javascript-sdk). Похоже, я должен взглянуть и попытаться исправить наши проблемы с SDK, поскольку Open Graph API не работает с IE7 и IE8. Еще раз спасибо. – Cline

0

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

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

Кроме того, я действительно не могу увидеть что-нибудь еще, что вы делать неправильно. Похоже, что IE8 находится на пути.

+0

Спасибо, что нашли эту опечатку Jordan. – Cline

Смежные вопросы