我想在我的网站上点击一个“邀请朋友”链接,然后你会看到一个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,则登录),然后在这些朋友的墙上发布。发布的消息将有一个简单的链接回到我的网站。这可能吗?
答案 0 :(得分: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月,无法在朋友墙上发帖。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',
));
但是,用户仍然可以在他的墙上发帖并在帖子或图片中标记朋友。
见:
答案 1 :(得分:4)
我想新推出的“Send”按钮(以及对等的对话框)就是您所需要的:
<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 :(得分: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>
答案 3 :(得分: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>