Utiliser L'API Facebook pour inviter des amis?

je veux un lien" Inviter des amis " sur mon site Web où vous cliquez dessus et vous obtenez un dialogue Facebook qui vous demande de choisir lequel de vos amis vous souhaitez inviter. Ces amis reçoivent alors soit une demande de candidature, soit un email Facebook ou au moins un post mural les invitant à rejoindre mon site.

je suis un peu confus sur la façon correcte de faire cela. Il semble que la seule façon non-dépréciée est maintenant de passer par la boîte de dialogue Requests . J'Ai Donc appelez la méthode Javascript FB.ui comme l'exemple qu'ils donnent:

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

alors les invités recevront des requêtes d'application quand ils se connectent à Facebook. Quand ils "acceptent" cette demande, ils seront dirigés vers mon application Facebook canvas où j'ai lu la demande initiale id passé de Facebook donc je sais de quoi il s'agit et puis je suppose que je peux rediriger l'utilisateur vers mon site web? Je n'aime pas ça car je dois maintenant apprendre à construire une application canvas, mais est-ce la bonne façon de l'inviter vos amis grâce à Facebook?

idéalement, le bouton "Inviter des amis" affiche le sélecteur "amis Facebook" (ou "login" si l'utilisateur n'est pas encore connecté à FB) et affiche ensuite sur les murs de ces amis. Message posté auraient un simple lien vers mon site web. Est-ce possible?

25
demandé sur Somnath Muluk 2011-08-15 21:37:01

4 réponses

j'ai eu le même problème. Bien qu'il soit très tard pour répondre aux questions, cela aidera quelqu'un. C'est pourquoi la réponse à cette question.

appelez cette fonction Javascript quand vous voulez envoyer des invitations.

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("");
        }

    })
}

envoi tableau d'amis invités par ajax et ensuite envoyer un message pour chaque ami.

Je peux poster sur les murs des amis de l'utilisateur via L'API PHP. Essayez ceci:

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

affichage sur le mur des amis n'est pas possible maintenant D'ici février 2013. Comment poster sur la Timeline d'un ami après la migration de février 2013 prend effet?

$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',
          ));

mais l'utilisateur peut encore poster sur son mur et marquer des amis dans le poste ou l'image.

voir:

  1. FB télécharger une photo à partir de l'application et de le poster à la paroi de l'utilisateur
  2. Tags photo amis
21
répondu Somnath Muluk 2017-05-23 12:32:14

je suppose que le nouveau " envoyer "bouton (et c'est l'équivalent de dialogue) est ce dont vous avez besoin:

<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>
4
répondu ifaour 2013-07-13 06:45:22

utilisez ceci dans votre fichier HTML. Il fonctionne très bien pour moi.


<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>
2
répondu Sumit Munot 2013-07-13 06:46:32
<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>
0
répondu Robert Mrsic 2013-07-13 06:46:52