5

Bir kullanıcı için düğmeye tıkladığınızda bir FB.ui iletişim kutusu görünmeye çalışıyorum. Şu anda, iletişim kutusunun bir açılır pencere olarak görünmesini sağlayabilirim, ancak bunu istemiyorum. İletişim kutusunun kalıcı bir model olarak görünmesini istiyorum, böylece açılır pencere engelleyicileri engellemez. Ben "display: 'iframe'" seçeneğini kullanarak denedi parametreyi, ancak bu kullanırken hata alıyorum: Ben almak için bir erişim simgesi kullanmaya gerek belki bu modal olarak görünmesini olduğunu okudumFB Kullanarak Facebook PHP Access Token Javascript ile FB.UI iletişim için SDK

"dialog" mode can only be used when the user is connected.

ve iframe parametresini kullanın. Bunun bir web sitesi için olduğunu unutmayın.

Sunucu tarafında Laravel'de bir Facebook OAuth2 paketi var (PHP), bu da Facebook kullanıcısını doğrulamakla ilgileniyor ve bir erişim belirteci çekiyor. Sorum şu: Bu jetonu nasıl çekerim ve Javascript SDK'sına uygularım yani FB.ui iletişim kutusu bir model olarak görünebilir? Bunu yapmak zorunda mıyım? İşte kullanıyorum javascript:

window.fbAsyncInit = function() { 
    FB.init({ appId: '************', cookie: true, status: true, xfbml: true, oauth: true }); 
    if (typeof facebookInit == 'function') { 
     facebookInit(); 
    } 
}; 
(function(d){ 
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    d.getElementsByTagName('head')[0].appendChild(js); 
}(document)); 

function facebookInit() { 
    FB.ui({ 
     url : 'http://url.com', 
     method: 'feed', 
     name: 'Url', 
     link: url, 
     display: 'iframe', 
     picture: 'http://thisimage.png', 
     caption: fb_description, 
    }, function (response) { 
     if (response && response.post_id) { 
      window.location = "/artists"; 
     } else { 
      window.location = "/artists"; 
     }     
    }); 
} 

cevap

1

Ben de bu sorunu vardı - bu benim Facebook uygulaması ayarlarında belirtilen localhost domain yoktu ortaya çıktı. Ben ekledikten sonra, iyi çalıştı.

enter image description here

İlgili konular