2012-06-29 2 views
2

В моем приложении у меня есть поле facebook, которое может ссылаться на пользователя facebook или на фан-страницу пользователя facebook.Как проверить, существует ли страница поклонника facebook с помощью javascript?

Я хочу отобразить страницу поклонника фейсбука как поле, только если фан-страница существует в Facebook. Есть ли способ сделать это с помощью Javascript SDK?

ответ

2

если вы используете Facebook JS SDK вы можете сделать это после того, как инициализация FB объект

FB.api('/the_fanpage_path', function(response) { 
     if(response.is_published) { 
     // it is a Fan Page! 
     } 
    }); 
3

Если вы используете jQuery и можете определить шаблон для URL-адреса этих страниц, вы можете использовать jQuery.get, чтобы проверить, существуют они или нет. Если вы не используете jQuery, вы можете сделать то же самое с необработанными XmlHttpRequests.

Например, если URL является «www.facebook.com/fanpage/{{username}}», вы можете сделать:

function startCheckForFanPage(username) { 
    $.get("www.facebook.com/fanpage/" + username, function(response) { 
     // if response.showsThere'sAPageThere, do X 
     // otherwise, do Y 
    } 
} 
+0

К сожалению, я получаю ошибку «того же происхождения политики» с этим решением. – e3matheus

+1

Есть способы справиться с этим; эта ссылка должна быть полезной http://www.kendoui.com/blogs/archive/11-10-03/using_cors_with_all_modern_browsers.aspx – machineghost

1

Если вы не хотите, чтобы загрузить FB SDK, вы можете сделать AJAX получить запрос, например. http://graph.facebook.com/facebook. Это работает с политикой пересечения, потому что graph.facebook.com допускает разные домены.

Ответ не в формате JSON, так что-то, как это будет работать:

function startCheckForFanPage(username) { 
    $.get("graph.facebook.com/" + username, function(response) { 
     if (response) 
     // otherwise, do Y 
    }, function() { 
     // Handle 404 or other failures here 
    }) 
} 

EDIT: Это больше не работает

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