26

我想要一个“邀请朋友”链接在我的网站上,你点击它,你会得到一个 Facebook 对话框,要求你选择你想邀请的朋友。然后,这些朋友要么收到申请请求,要么收到 Facebook 电子邮件,要么至少收到一条墙帖,邀请他们加入我的网站。

我对执行此操作的正确方法有点困惑。现在看来唯一不被弃用的方法是通过Requests Dialog。所以我FB.ui像他们给出的例子一样调用 Javascript 方法:

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

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

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

4

4 回答 4

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

    })
}

发送由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',
      ));

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

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

看 :

  1. FB从应用程序上传照片并将其发布到用户的墙上
  2. 标签 朋友 照片
于 2012-02-21T11:37:43.247 回答
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>
于 2011-08-15T22:42:01.087 回答
2

在您的 HTML 文件中使用它。这对我很有效。


<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>
于 2013-03-20T11:22:59.990 回答
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>
于 2012-07-04T22:35:00.110 回答