Используя API Facebook для приглашения друзей?
Мне нужна ссылка "Пригласить друзей" на моем веб-сайте, где вы нажимаете ее, и вы получаете диалоговое окно 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, поэтому я знаю, что это такое, и тогда, я думаю, я могу перенаправить пользователя на мой сайт? Мне это не нравится, поскольку теперь мне нужно научиться создавать приложение для холста, но является ли это правильным способом пригласить друзей через функцию Facebook?
В идеале кнопка приглашенных друзей вызывает селектор Facebook (или логин, если пользователь еще не вошел в FB), а затем сообщения на стенах этих друзей. Это сообщение было бы простой ссылкой на мой сайт. Возможно ли это?
Ответы
Ответ 1
У меня была такая же проблема. Хотя ответить на вопрос очень поздно, это поможет кому-то. Вот почему ответ на этот вопрос.
Вызовите эту функцию 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',
));
Забастовкa >
Публикация на стене друзей теперь невозможна к февралю 2013 года. Как опубликовать на временной шкале друга после миграции в феврале 2013 года?
$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',
));
Но пользователь все равно может размещать на стене и помечать друзей в сообщении или изображении.
Смотрите:
Ответ 2
Я предполагаю, что новая кнопка 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>
Ответ 3
Используйте это в своем 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>
Ответ 4
<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>