Web サイトに「いいね」ボタンを追加しましたが、誰が「いいね」ボタンをクリックしたか知りたいです。これらは私のサンプルコードです:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '182722795115444', status: true, cookie: true,
xfbml: true});
// To find who clicked the like button
FB.Event.subscribe('edge.create', function(response){
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
alert("logged in and connected user");
} else {
// no user session available, someone you dont know
alert("no user session available");
}
});
});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
<script src="http://connect.facebook.net/en_US/all.js#appId=182722795115444&xfbml=1"></script>
<fb:like href="www.blogcountry.net" send="true" width="450" show_faces="true" font=""></fb:like>
[いいね] ボタンをクリックして facebook にログインすると、いいねが成功しましたが、「利用可能なユーザー セッションがありません」というアラートが表示されました。
だから私は混乱しています:
- FB.init の appId は fb:like タグと同じですが、正しいですか?
- 私のプログラムに何か問題がありますか?
- いいねボタンを押したユーザー名を取得するには?
前もって感謝します。
アップデート:
@OffBySome 回答ありがとうございます。
FB 認証 API を呼び出さなければならないということですか。そうすれば、ユーザーの情報を取得できますか? しかし... Facebookの開発ドキュメントFAQ:
ユーザーが [いいね] ボタンをクリックしたことを知るにはどうすればよいですか?
ボタンの XFBML バージョンを使用している場合は、FB.Event.subscribe を介して「edge.create」イベントをサブスクライブでき ます。
つまり、誰が Like ボタンをクリックしたかはわかりません。ボタンがクリックされたことだけはわかります。
ユーザーの情報を取得したい場合は、[いいね!] をクリックする前にログイン アクションを実装する必要があります。使い勝手が本当に悪いです。
誰かがそれを解決するための良いアイデアを与えることができます...