25

Desidero un collegamento "Invita amici" sul mio sito Web in cui si fa clic su di esso e si ottiene una finestra di dialogo di Facebook che chiede di scegliere quale dei tuoi amici desideri invitare. Questi amici ricevono una richiesta di iscrizione, e-mail di Facebook o almeno un messaggio a muro che li invita a unirsi al mio sito web.Utilizzo dell'API di Facebook per invitare gli amici?

Sono un po 'confuso su quale sia il modo corretto per farlo. Sembra che l'unico modo non deprecato ora è attraverso il Requests Dialog. Così chiamo il metodo FB.ui Javascript come l'esempio che danno:

FB.ui({ 
    method: 'apprequests', 
    message: 'You should learn more about this awesome game.', 
    data: 'tracking information for the user' 
}); 

Poi gli invitati avranno le richieste di applicazione quando il login a Facebook. Quando "accetteranno" quella richiesta, verranno indirizzate alla mia applicazione su tela di Facebook dove leggo l'ID di richiesta iniziale passata da Facebook, quindi so di cosa si tratta e quindi suppongo di poter reindirizzare l'utente al mio sito web? Non mi piace perché ora devo imparare come creare un'applicazione su tela, ma è il modo giusto per invitare gli amici tramite la funzione di Facebook?

Idealmente, il pulsante degli amici di invito visualizza il selettore di amici di Facebook (o effettua il login se l'utente non ha ancora effettuato l'accesso a FB) e quindi pubblica i messaggi sui muri di quegli amici. Quel messaggio pubblicato avrebbe un semplice link al mio sito web. È possibile?

risposta

4

Credo che il pulsante di nuova introduzione "Send" (ed è dialogo equivalente) è quello che serve:

<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <body> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <div id="fb-root"></div> 
    <script> 
     // assume we are already logged in 
     FB.init({appId: '123050457758183', xfbml: true, cookie: true}); 

     FB.ui({ 
      method: 'send', 
      name: 'People Argue Just to Win', 
      link: 'http://www.nytimes.com/2011/06/15/arts/people-argue-just-to-win-scholars-assert.html', 
      }); 
    </script> 
    </body> 
</html> 
+2

ho visto questo, ma non sembra appropriato per una funzionalità di tipo "invitare amici". Devi digitare i nomi degli amici che vuoi invitare .. Ho bisogno che sia molto facile invitare i tuoi amici con un select all e un'interfaccia di selezione point-click. Immagino che questo sia buono, solo il processo di selezione degli amici. –

+0

@at, leggi il documento a cui mi sono collegato, puoi ancora usare la frase "invita amici". È necessario incoraggiare gli amici dell'utente a visitare il tuo sito Web (visitare un URL) in modo che si tratti di una comunicazione da utente a utente. – ifaour

21

ho avuto lo stesso problema. Anche se è molto tardi per rispondere alla domanda, aiuterà qualcuno. Ecco perché rispondere a questa domanda.

Chiamare questa funzione Javascript quando si desidera inviare inviti.

function sendRequestViaMultiFriendSelector() { 
    FB.ui({ 
     method: 'apprequests', 
     message: "This message is displayed in invitation" 
    },send_wall_invitation); 

} 

function send_wall_invitation(response) { 
    // alert(response.to); 
    var send_invitation_url=base_url+'send_invitation'; 
    jQuery.ajax({ 
     url:send_invitation_url, 
     data:{ 
      to:response.to 
      }, 
     dataType:"json", 
     type: 'POST', 
     success: function(data){ 
//   alert(""); 
     } 

    }) 
} 

Invio schiera di amici invitati da ajax e quindi inviare posta per ogni amico.

Posso postare sui muri degli amici dell'utente tramite l'API PHP. Prova questo:

$facebook->api('/[FRIEND_ID]/feed', 'post', array(
      'message' => 'test message', 
      'link' => 'http://google.com', 
      'name' => 'test name', 
      'caption' => 'test caption', 
      'description' => 'test long description', 
    )); 

distacco su amici muro non è possibile ora per febbraio 2013. How to post on a friend's Timeline after the February 2013 migration takes effect?

$facebook->api('/[Loggedin_user_id]/feed', 'post', array(
       'message' => 'test message', 
       'link' => 'http://google.com', 
       'name' => 'test name', 
       'caption' => 'test caption', 
       'description' => 'test long description', 
     )); 

Ma utente può ancora scrivere un commento sul muro i suoi amici e tag in posta o Immagine.

See:

  1. FB upload photo from application and post it to user's wall
  2. Tags friends photo
0
<div id="fb-root"></div> 
    <script src="http://connect.facebook.net/en_US/all.js"> 
    </script> 
    <script> 
    FB.init({ 
     appId:'APP ID', cookie:true, 
     status:true, xfbml:true 
    }); 



function FacebookInviteFriends() 
{ 
FB.ui({ method: 'apprequests', 
    message: 'VISIT THIS WEB SITE'}); 
} 
    </script> 

<a href='#' onClick="FacebookInviteFriends();"> INVITE YOUR FACEBOOK FRIENDS</a> 
+2

si potrebbe voler aggiungere un po 'di prosa a questa risposta – opsidao

+1

... e una spolverata di formattazione troppo;) – superjos

2

Utilizzare questo nel file HTML. Mi va benissimo.


<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:fb="https://www.facebook.com/2008/fbml"> 

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 


<p> 
<input type="button" 
    onclick="sendRequestViaMultiFriendSelector(); return false;" 
    value="Send Request To Your Facebook Friends" 
/> 
</p> 

<script> 
    FB.init({ 
    appId : 'APP_ID', 
    frictionlessRequests: true 
    }); 

    function sendRequestToRecipients() { 
    var user_ids = document.getElementsByName("user_ids")[0].value; 
    FB.ui({method: 'apprequests', 
     message: 'Awesome Application try it once', 
     to: user_ids 
    }, requestCallback); 
    } 

    function sendRequestViaMultiFriendSelector() { 
    FB.ui({method: 'apprequests', 
     message: 'Awesome application try it once' 
    }, requestCallback); 
    } 

    function requestCallback(response) { 
    // Handle callback here 
    } 
</script> 
+0

quanto sopra a: user_ids è generato dal mio HTML o è dalla finestra di dialogo FB? – sjd

+0

Questo è per la finestra di dialogo FB .. –

+0

Questo mi dà un errore: 'Il parametro app_id è richiesto' –