自分のWebサイトに「友人を招待」リンクをクリックして、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にログインしていない場合はログイン)、それらの友達のウォールに投稿します。投稿されたメッセージには、私のウェブサイトへの簡単なリンクがあります。これは可能ですか?
同じ問題がありました。質問に答えるのは非常に遅いですが、誰かを助けるでしょう。それがこの質問に答える理由です。
招待状を送信するときに、この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',
));
ただし、ユーザーは引き続き自分の壁に投稿して、投稿または画像で友人にタグを付けることができます。
見る :
新しく導入された「 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>
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>
<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>