使用Facebook API邀请朋友?

at.*_*at. 25 facebook facebook-graph-api facebook-javascript-sdk facebook-invite facebook-friends

我想在我的网站上点击一个"邀请朋友"链接,然后你会看到一个Facebook对话框,要求你选择你想邀请哪些朋友.那些朋友要么得到申请请求,Facebook电子邮件或至少一个墙上的帖子邀请他们加入我的网站.

对于这样做的正确方法,我有点困惑.现在看来唯一不推荐的方式是通过Requests Dialog.所以我将FB.uiJavascript方法称为他们提供的示例:

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

然后被邀请者将在登录Facebook时收到申请请求.当他们"接受"该请求时,他们将被引导到我的Facebook画布应用程序,在那里我读取了从Facebook传递的初始请求ID,所以我知道这是什么,然后我想我可以将用户重定向到我的网站?我不喜欢这个,因为我现在必须学习如何构建一个画布应用程序,但这是通过Facebook功能邀请朋友的正确方法吗?

理想情况下,邀请朋友按钮会调出Facebook好友选择器(如果用户尚未登录FB,则登录),然后在这些朋友的墙上发布.发布的消息将有一个简单的链接回到我的网站.这可能吗?

Som*_*luk 21

我有同样的问题.虽然回答问题已经很晚了,但它会对某些人有所帮助.这就是回答这个问题的原因.

想要发送邀请时调用此Javascript函数.

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

    })
}
Run Code Online (Sandbox Code Playgroud)

发送由ajax邀请的朋友阵列,然后为每个朋友发送帖子.

我可以通过PHP API在用户的朋友墙上发布.试试这个 :

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

在2013年2月之前,无法在朋友墙上发布.如何在2013年2月迁移后在朋友的时间线上发布?

$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',
          ));
Run Code Online (Sandbox Code Playgroud)

但是用户仍然可以在他的墙上张贴并在帖子或图像中标记朋友.

见:

  1. FB从应用程序上传照片并将其发布到用户的墙上
  2. 标签朋友照片


ifa*_*our 4

我想新引入的“发送”按钮(及其等效的对话框)就是您所需要的:

<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>
Run Code Online (Sandbox Code Playgroud)

  • 我看到了这个,但它似乎不适合“邀请朋友”类型的功能。您必须输入要邀请的朋友的姓名。我需要通过全选和点击选择界面轻松邀请您的朋友。我想否则这很好,只是朋友选择过程。 (2认同)