2012-02-28 17 views
23

tarafından yasaklanan görüntüyü görüntülemek reddedildi Bir Facebook uygulaması yapıyorum ve Javascript API'sını kullanarak kullanıcının oturum açma durumunu almaya çalışırken, bazen hatayla karşılaştığımı fark ettim:X-Frame-Options

"X-Frame-Options tarafından yasaklanan ekran nedeniyle belgeyi görüntülemek reddedildi."

Kullanıcı hesabımdan ziyade, Facebook'u sayfa olarak kullanırken yalnızca uygulamanın "oturum açma durumunu denetle" sayfasına yalnızca numaralı sayfaya ulaştığımda bunu yeniden yapılandıramıyorum. Bu, sorunu neden olduğunu bildiğimden kaçınmak için yeterince kolaydır, ancak açıkçası benim kullanıcılarım bunu bilmiyor olabilir.

Kullanıcının Facebook'u bir Sayfa olarak kullanıp kullanmadığını belirlemenin bir yolu var mı? Bu tamamen benim app tamamen mahvediyor gibi görünüyor.

+0

Kanal.htm dosyanızın beklendiği gibi çalışıp çalışmadığını doğrulayabilir misiniz? – DMCS

+0

[X-Frame-Options tarafından yasaklanmış görüntüleme nedeniyle belgeyi görüntülemek reddedildi. hata?] (http://stackoverflow.com/questions/9106413/way-to-detect-refused-to-display-document-because-display-forbidden-by-x-frame) – balexandre

cevap

1

bu sorun da bunu sabit vardı. Kullanıcı zaten giriş iken uygulaması, Facebook (auth iletişim kutusu) bir giriş ekranı kullanıcı yönlendirme edildi Yani kod değişti Oturum açıldığında başarı sayfasına yönlendirmek için veya oturum açmamışsanız iletişim kutusuna yönlendirmek için.

+17

Bunu nasıl yaptınız? – Himmators

+3

O nasıl yaptığını açıklamıyorsa, neden yeşil çeki alıyor? –

0

Bu javascript çalışır mı?

document.write(isFacebookPage()?"YES, I'm in a Facebook Page!":"No, not a Facebook Page"); 

function isFacebookPage(){ 
    return (document.location.href.indexOf('/pages/')>0); 
} 
1

Bu, facebook uygulamanızın web tarayıcısından yönlendirdiği ve facebook yetkilendirme oturumuna yönlendirdiğinizde bu bir sorundur. Formun sayfayı değiştirdiğinden ve facebook tuvaline hoşlanmadığından yüklenmediğinden emin olmalısınız.

Yani bu kadar -bu gibi temiz bir yönlendirme yapmak zorunda düğüm örnek bu facebook dev sayfada

res.send("<script> top.location.href='"+ "https://www.facebook.com/dialog/oauth?  
client_id=*********&redirect_uri=http://apps.facebook.com/myapp" + "'</script>"); 

bak ve adımda 3

https://developers.facebook.com/docs/howtos/login/server-side-login/

yok herhalde onun mobil uygulamalarla ilgili sorun sadece masaüstü