2011-10-25 20 views
6

Uygulamam facebook kanvasının dışında duruyor. facebook istek iletişim kutusu 2.0 yalnızca tuval URL'si 'a yönlendirir. apps.ibibo.com/YOURAPP. Özel bir URL'yi nasıl açabilirim? Bu, eski FBML formunda fb:request-form ile ve req-url ayarı ile mümkün oldu.Facebook istekleri 2.0, facebook dışında bir url olmak için "Kabul et" butonu url'yi nasıl değiştirebilirim?

2.0 istekleri yalnızca iç facebook URLS'si ile sınırlı mü? Benim gereksinim oyun istekleri göndermek, ancak oyunum facebook dışında oturuyor. yani

"http://apps.facebook.com/mygame" açma url

"http://www.mydomain.com/mygame" olmalıdır "KABUL" tıklayıp olmamasına.

enter image description here

Bu yöntemler benim gereksinim uyacak görünmüyor: http://developers.facebook.com/docs/reference/dialogs/requests/ (sadece tuval url yönlendirme)

ben gibi bir çözüm düşünülebilir: kullanıcı tıklama "KABUL" konulu ve söz konusu tuval url ve tuval url'sinden, onu facebook'um dışındaki URL'ime yönlendiririm. Ancak bunun facebook politikasına uygun olup olmadığından emin değilim? (Burada ilk paragrafın 4 üncü maddesinde belirtilen: http://developers.facebook.com/blog/)

+0

aşağıdaki soruya http://stackoverflow.com/questions/7914296/how-do-i için yanıtında bir yorum okuyun:

koyun mygame sayfasında bir yere <button id="fb-auth">Login</button> ve javascript kodu bu eklemek -send-facebook-istek-bu-link-to-bir-harici-site/7914730 –

+0

@ Yorumlar, yukarıda belirtilen soruya inandırıcı bir kaynaktır, lütfen kontrol edin :) –

cevap

2

Maalesef şu anda kabul et düğmesi, sizi gördüğünüz gibi her zaman uygulama sayfasına götürecektir ve şu anda başka bir yere gitmek için hiçbir yolu yoktur. Onları tuval sayfasından yönlendirmelisiniz. Bununla birlikte, Facebook taleplerinin facebook eklentisinin iframe eklentisini kullanarak Facebook dışından gönderilebilmesine rağmen, bunu Facebook politikasına aykırı olarak görmüyorum. Kabul butonu için dışarıdan bir URL koymak isteyebilmeniz için Facebook ile bir feature request kayıt olurdum.

5

Facebook'un varsayılan işlevini geçersiz kılmak için jquery komut dosyası gerekir. Ancak bu, yalnızca kişi "http://apps.facebook.com/mygame" adresine gittiğinde ve "uygulama ekle" yi tıkladığında çalışır.

Sadece bir hoş geldiniz sayfanız olsun, kullanıcılar "PLAY" a tıklayıp sayfanıza yeni bir pencere açar.

Daha fazla bilgi için: http://developers.facebook.com/blog/post/525/ - iyi şanslar kodlaması!

function updateButton(response) { 
    //Log.info('Updating Button', response); 
    var button = document.getElementById('fb-auth'); 

    if (response.status === 'connected') { 
     //button.innerHTML = 'Logout'; 
     button.onclick = function() { 
     FB.logout(function(response) { 
      //Log.info('FB.logout callback', response); 
     }); 
     }; 
    } else { 
     //button.innerHTML = 'Login'; 
     button.onclick = function() { 
     FB.login(function(response) { 
      //Log.info('FB.login callback', response); 
      if (response.status === 'connected') { 
      //Log.info('User is logged in'); 
      window.open("http://xxxxxxxxxxxxxxxx/some.html"); 
      } else { 
      //Log.info('User is logged out'); 
      } 
     }); 
     }; 
    } 
}; 

// run it once with the current status and also whenever the status changes 
FB.getLoginStatus(updateButton); 
FB.Event.subscribe('auth.statusChange', updateButton); 
İlgili konular