2010-11-12 3 views
0

У меня есть существующее веб-приложение asp.net, которое использует facebook для аутентификации пользователей. Я использую этот facebook инструментарий http://facebooktoolkit.codeplex.com/FB.Init Async с Facebook Developer Toolkit

Моя страница имеет следующий код:

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" 
    type="text/javascript"></script> 
<script type="text/javascript"> 
    //Login and redirect 
    function onLogin() { 
     window.location.href = "facebookusermapping.aspx"; 
    } 
</script> 


    <div class="FBLogin"><fb:login-button onlogin="onLogin()"></fb:login-button></div> 

<script type="text/javascript">FB.init("<%=ConfigurationManager.AppSettings["ApiKey"]%>","xd_receiver.htm");</script> 

Моя страница берет некоторое время для загрузки, как это, кажется, ждать кнопку входа facebook и вещи для загрузки, так было высказано предположение, я делаю это асинхронно, используя этот код:

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId : 'YOUR APP ID', 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true // parse XFBML 
    }); 
    }; 

    (function() { 
    var e = document.createElement('script'); 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    e.async = true; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

но использует новый Api, где в качестве инструмента комплект я думаю, использует старый API?

Когда я использую свой существующий код для проверки подлинности пользователя, он всегда возвращается как ложный.

Не переписывая слишком много, кто-нибудь знает, как я могу остановить свою страницу, ожидающую загрузки вещей в facebook?

ответ

0

Если вы должны продолжить использовать старый инструментарий, вы не должны переключаться на новый Javascript SDK. Поэтому сохраните свой код javascript так, как он есть. Что касается проблемы с загрузкой, я не уверен, что бы это вызвало, но вы определенно не собираетесь ее решать, переключившись на новый Javascript SDK, если вы не хотите переписывать все свое приложение.

Однако Инструментарий Facebook устарел и не поддерживает новые системы аутентификации Facebook. Когда Facebook делает новые системы аутентификации обязательными (в ближайшие 3-6 месяцев, насколько я могу судить) ваше приложение сломается. Поэтому, если это приложение должно прожить за этот период времени, вы можете также работать над его обновлением до новых систем auth. Если вы обновляете приложение или создаете новое приложение, вы захотите использовать новый CK SDK Facebook, который можно найти по адресу http://facebooksdk.codeplex.com или http://www.microsoft.com/facebook.

РАСКРЫТИЕ: Я являюсь ведущим разработчиком на SDK для Facebook.

+0

Спасибо ... к сожалению, я думал, что это будет так! Я не понимал, что старый API перестанет работать через несколько месяцев! Я переписал его! – Bex

+0

Мне нечего добавить, кроме того, что новый CK SDK для Facebook был радостью для работы. Огромные улучшения по сравнению с другими библиотеками. – mfanto

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