以下のコードは完全に機能します。fb:login-button をクリックすると、ログインした人の Facebook ウォールにメッセージが投稿されます。
しかし、ボタンをクリックした後ではなく、ページが読み込まれた直後にこれが発生するようにします。ユーザーがすでにログインしている場合、メッセージはウォールに投稿されます。これどうやってするの ?
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js#appId=XXXXXXXXXXXXXXX&xfbml=1"></script>
<fb:login-button show-faces="false" width="200" max-rows="1" perms="publish_stream" onlogin="postonwall()">Click to Publish Below Content</fb:login-button>
<script>
function postonwall()
{
FB.api('/me/feed', 'post',
{
message: 'A good reference for APIs',
link: window.location.href,
name:'API Reference',
picture:'http://www.demo.lookmywebpage.com/publish-on-facebook-wall/Google-Twitter-Facebook.jpg',
description:'Demo Facebook Post'
}, function(response) {
if (!response || response.error) {
alert('Oops! User Denied Access');
} else {
alert('Success: Content Published');
}
});
}
</script>