25

Tôi muốn có một liên kết "Mời bạn bè" trên trang web của tôi nơi bạn nhấp vào nó và bạn nhận được hộp thoại Facebook yêu cầu bạn chọn người bạn nào bạn muốn mời. Những người bạn đó sau đó hoặc nhận được một yêu cầu ứng dụng, Facebook email hoặc ít nhất một bài tường mời họ tham gia trang web của tôi.Sử dụng API Facebook để mời bạn bè?

Tôi hơi bối rối về cách thức thích hợp để thực hiện việc này. Có vẻ như cách duy nhất không được chấp nhận hiện nay là thông qua Requests Dialog. Vì vậy, tôi gọi phương thức Javascript là FB.ui giống như ví dụ mà họ cung cấp:

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

Sau đó, người được mời sẽ nhận được yêu cầu đăng ký khi họ đăng nhập vào Facebook. Khi họ "chấp nhận" yêu cầu đó, họ sẽ được chuyển đến ứng dụng canvas Facebook của tôi, nơi tôi đọc id yêu cầu ban đầu được chuyển từ Facebook để tôi biết điều này là gì và sau đó tôi đoán tôi có thể chuyển hướng người dùng đến trang web của mình? Tôi không thích điều này vì bây giờ tôi phải học cách xây dựng một ứng dụng canvas, nhưng đây có phải là cách thích hợp để mời bạn bè thông qua tính năng Facebook không?

Lý tưởng nhất là nút mời bạn bè sẽ hiển thị bộ chọn bạn Facebook (hoặc đăng nhập nếu người dùng chưa đăng nhập vào FB) và sau đó đăng lên tường của bạn bè đó. Tin nhắn đó được đăng sẽ có một liên kết đơn giản trở lại trang web của tôi. Điều này có thể không?

Trả lời

4

Tôi đoán nút "Send" mới được giới thiệu (và nó tương đương thoại) là những gì bạn cần:

<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

Tôi thấy điều này, nhưng nó dường như không thích hợp cho một "mời bạn bè" chức năng loại. Bạn phải gõ vào tên của bạn bè mà bạn muốn mời .. Tôi cần nó rất dễ dàng để mời bạn bè của bạn với một lựa chọn tất cả và một giao diện lựa chọn điểm nhấn. Tôi đoán nếu không điều này là tốt, chỉ là quá trình lựa chọn bạn bè. –

+0

@at, đọc tài liệu tôi đã liên kết, bạn vẫn có thể sử dụng cụm từ "mời bạn bè". Bạn cần phải khuyến khích bạn bè của người dùng truy cập vào trang web của bạn (truy cập URL) để đó là giao tiếp giữa người dùng với người dùng. – ifaour

21

tôi đã cùng một vấn đề. Mặc dù nó là rất muộn để trả lời câu hỏi, nó sẽ giúp ai đó. Đó là lý do tại sao trả lời câu hỏi này.

Gọi hàm Javascript này khi muốn gửi lời mời.

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

    }) 
} 

Gửi mảng của bạn bè mời ajax và sau đó gửi bài cho mỗi người bạn.

Tôi có thể đăng trên tường của bạn bè của người dùng thông qua API PHP. Hãy thử điều này:

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

Đưa vào bạn bè tường là không thể bây giờ bằng cách Tháng Hai 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', 
     )); 

Nhưng người dùng vẫn có thể đăng trên bạn bè tường và thẻ của mình trong đường bưu điện hoặc hình ảnh.

Xem:

  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

bạn có thể muốn thêm một số văn xuôi nữa vào câu trả lời này – opsidao

+1

... và một định dạng rắc;) – superjos

2

sử dụng trong tập tin HTML của bạn này. Đó là công việc tốt cho tôi.


<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

ở trên đến: user_ids được tạo từ HTML của tôi hoặc từ hộp thoại FB? – sjd

+0

Nó dành cho hộp thoại FB .. –

+0

Điều này cho tôi một lỗi: 'Tham số app_id là bắt buộc' –

Các vấn đề liên quan