2013-06-08 23 views
7

Web sitemde FB JDK ile FB girişini etkinleştirdim. Bunu kullandığımda, mükemmel çalışır: iletişim penceresi açılır, ben yetkilendiririm ve authResponse beklendiği gibi. Başka bir kullanıcı onu (henüz uygulamaya izin vermemiş, ancak FB'ye giriş yapmış) kullandığında, oturum açma iletişim kutusu kısa bir saniye için görünür ve anında kaybolur ve yanıt nesnesinin durumu not_authorized olur. İletişim kutusunun neden kullanıcıya izin vermeyeceği konusunda herhangi bir fikir var mı? Benim düzeni (Haml) olarakfb.Login() penceresi hemen kapanıyor ve 'not_authorized' döndürüyor

:

giriş bağlantı
%body 
    #fb-root 
    :javascript 
    window.fbAsyncInit = function() { 
     FB._https = false; 
     FB.init({ 
     appId  : <App ID> 
     status  : true, 
     cookie  : true, 
     oauth  : true, 
     xfbml  : true 
     }); 
     FB.getLoginStatus(function(response) { 
     if(window.reportFBstatus) { 
      reportFBstatus(response); 
     } 
     }, true); 
    }; 
    // Load the SDK 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 

: CoffeeScript yılında

%a{href: '#', onclick: 'FB.login(window.reportFBstatus, {scope: "user_about_me"})'} 

: benim için çalıştı

window.reportFBstatus = (response) -> 
    $.ajaxSetup({ 
    headers: 
     'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') 
    }) 
    console.log response # always shows status=not_authorized for other users 
    if response.status is 'connected' 
    auth = response.authResponse 
    $.post('/login', {fb_id: auth.userID, fb_token: auth.accessToken}, (data) -> 
     window.currentUser = data 
    ) 
+0

Aynı sorunu yaşıyorum. Kök nedenini anlayamadım –

cevap

15

çözüm aslında bir kemik oldu -headed one - Ben app sanal modunu developers app console on Facebook içinde canlı modda değiştirmek için unuttum soldaki r uygulaması). Alternatif olarak, geliştiriciler veya test ediciler olarak oturum açmak istediğim kişileri ekleyebilirdim.

Başkalarına yardım etmesini umuyorum!

+1

Doh, aynı soruna sahipti. Cevabınızı gönderdiğiniz için teşekkürler, aksi halde çözüm için saatler aramış olurdum. –

+1

teşekkürler - öğrenmek için 1 saatimi götürdüm ... –

+0

Aynı problem vardı, benim üzerimde böyle aptalca bir hata oldu, teşekkürler! –

İlgili konular