Czy mogę korzystać z Facebooka fb: friend-selektora w iframe?

głosy
21

Staram się korzystać z Facebooka fb:friend-selectorFBML tag, ale moja aplikacja jest uruchomiona w iframe. Czy jest możliwe aby użyć tego tagu w iframe? Jeśli więc ktoś ma jakieś przykłady?

Utwórz 04/05/2009 o 15:47
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
16

Tak, jest to z pewnością możliwe, ale trzeba użyć Facebook Connect i XFBML . Konkretnie chcesz użyć fb: serverfbml tag dostać FB: Praca przyjaciel wyboru. Mam app iframe której używam to wszystko i FB: przyjaciel selektora w standardzie „zaprosić znajomych do aplikacji” kontekście, i działa świetnie.

Oto ciało mojego pliku szablonu, który dostaje wyjście wewnątrz ciała mego iframe:

<fb:serverfbml style="width: 650px;"> 
<script type="text/fbml">
    <fb:fbml> 
        <fb:request-form
            action="http://example.com/invite/sent"
            method="POST"
            invite="true"
            type="My App"
            content="Try out my app!
                <fb:req-choice url='http://your-facebook-canvas-url'
                label='<?php echo htmlspecialchars("Accept button text",ENT_QUOTES); ?>'
                /> 
            " > 
            <fb:multi-friend-selector
                showborder="false"
                actiontext="Invite your friends to try My App."
                exclude_ids="<?php echo $excludeIds; ?>"
                rows="3"
            /> 
        </fb:request-form> 
    </fb:fbml>
</script> 
</fb:serverfbml>

W stopce strony, mam standardowy kod Facebook Connect, który będzie ładować i renderować FB: serverfbml zawartość:

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
<script type="text/javascript">
    FB_RequireFeatures(
        ["CanvasUtil"],
        function(){
             FB.XdComm.Server.init('/xd_receiver.html');
             FB.CanvasClient.startTimerToSizeToContent();
        }
    );
</script>

<script type="text/javascript">
    FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("Your Facebook API Key", "/xd_receiver.html"); });   
</script>

To powinno być wszystko, czego potrzebujesz (wypełnić własnych opcji w stosownych przypadkach, oczywiście). Będziesz musiał skonfigurować Facebook Connect pracować z plikiem odbiornika cross-domain. Proponuję wykonując renderingu kroki XFBML .

Odpowiedział 04/05/2009 o 20:10
źródło użytkownik

głosy
3

Jako że jest wiele pytań o znajomego selektora w iframe.

Faceci poprawny sintax teraz <fb:serverfbml width="650px">

Odpowiedział 29/07/2010 o 01:39
źródło użytkownik

głosy
9

Pytanie w tym wątku jest nadal aktualna, ale odpowiedź jest nieaktualne. należy użyć nowego SDK javascript. To powinno zastąpić drugi fragment kodu zamieszczonych przez zombat

<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript">
   FB.init({appId: 'your app id',
       status: true,
       cookie: true,
       xfbml: true});
   FB.Event.subscribe('auth.sessionChange', function(response) {
     if (response.session) {
       // A user has logged in, and a new cookie has been saved
     } else {
       // The user has logged out
     }
   });
</script>

Więcej informacji tutaj: http://www.clickonchris.com/2010/11/facebook-javascript-sdks/

Odpowiedział 09/11/2010 o 06:54
źródło użytkownik

głosy
0

jeden punkt MAJOR i ważne, że dostaje brakowało to, że wielu z was (w tym mnie) trzymać w skryptach dosłownie wszędzie ... ale plik „FB” load.js musi być załadowany NATYCHMIAST po tagu ciała.

przynajmniej to co znalazłem, aby wszystko działa i HUMM odpowiednio. Znalazłem go na stanowisku na innej stronie (nie był pewien, czy powinienem to pisać tutaj lub nie ...), ale to przyszło po spędzeniu niezliczone godziny, robiąc wyżej wspomniany - jak każdy inny następujące 1,2, 3 krok uderzać w coraz iframe do wielkości prawidłowo ...

a teraz stałam się go do pracy :)

Odpowiedział 31/01/2011 o 16:20
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more