2013-08-03 37 views
11

Facebook SDK ile web sitelerini geliştirmekte yeniyim. Yani lütfen benimle kal.getLoginStatus her zaman not_authorized döndürür

Aşağıda Facebook'a giriş yaptığımı doğrulamak için kullanacağım basit kod. Herhangi bir nedenden dolayı, uygulamamın tek geliştiricisi olmama rağmen her zaman 'not_autherized' yanıtını alıyorum. Sağladığım uygulama numarası doğru.

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    </head> 
    <body> 
    <div id="fb-root"></div> 
    <script> 
     window.fbAsyncInit = function() { 
      // init the FB JS SDK 
      FB.init({ 
       appId  : 'censored app id', // App ID from the app dashboard 
       status  : true,    // Check Facebook Login status 
       cookies : true, 
       xfbml  : true    // Look for social plugins on the page 
      }); 

      FB.getLoginStatus(checkLoginStatus); 
      function checkLoginStatus(response) { 
       if (response && response == 'connected') { 
        alert('User is authorized!'); 
       } else { 
        alert('User not authorized!!!'); 
       } 
      }; 

      // Additional initialization code such as adding Event Listeners goes here 
     }; 

     // Load the SDK asynchronously 
     (function(d, s, id) { 
      if (d.getElementById(id)) return; 

      var js = d.createElement(s); js.id = id; 
      js.src = "//connect.facebook.net/en_US/all.js"; 

      var fjs = d.getElementsByTagName(s)[0]; 
      fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 
    </script> 
    </body> 
</html> 

Gözardı ettiğim bir şey var mı?

Çok takdir :)

cevap

12

Bir arkadaşım bana bu konuda yardımcı oldu. Facebook'un belgelemeyi ihmal ettiği bir şeye çok yardımcı oldu. Yeni bir facebook uygulaması oluşturduğunuzda, yönetici ve geliştiriciler tarafından otomatik olarak yetkilendirilmez. Yetkili bir uygulama "Hesap Ayarları -> Uygulamalar" listesinde bulunan bir uygulamadır. Bu listede yoksa, yetkili değildir.

Bu, kullanıcı yetkilendirme penceresini açmak için kodunuzda bir noktada FB.login() yöntemini çağırmanız gerektiği anlamına gelir.

Dikkat ederseniz, bu bir düğmeden çağrılmalıdır. Aksi takdirde, pop-up engellenebilir. Umarım bu, benden başka birine yardımcı olur.

Cheers :)

İlgili konular