1

Facebook 機能へのカスタム共有を作成していますが、当初考えていたよりも複雑です。

私はFacebookアプリを作成し、それを使用するためにIDを使用する必要がありました。

Facebook でページを共有しようとすると、Facebook にログインし (ログインしていない場合)、プロフィールへのアクセスを要求し (最初の共有でのみ)、共有ダイアログに進みます。

ただし、YouTube や BBC などの他のサイトでは、Facebook で共有するためのアクセスを要求していないことに気付きました。代わりに、共有ダイアログに直接移動します。

これを達成する方法はありますか?

使用するコードは次のとおりです。

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script>
    FB.init({
        appId      : '*APP_ID*', // App ID
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true,  // parse XFBML
        link       : '*LINK*'
    });
    $('.share-print .facebook > a').click(function(e){
        e.preventDefault();

        FB.getLoginStatus(function(response) {
            if (response.status === 'connected') {
                facebookSend();
                var uid = response.authResponse.userID;
                var accessToken = response.authResponse.accessToken;
            } else if (response.status === 'not_authorized') {
                // the user is logged in to Facebook, 
                // but has not authenticated your app
                FB.login(function(response) {
                    if (response.authResponse) {
                        console.log('Logged in');
                        facebookSend();
                    } else {
                        console.log('Not logged in');
                    }
                });
            } else {
                // the user isn't logged in to Facebook.
                FB.login(function(response) {
                    if (response.authResponse) {
                        console.log('Logged in');
                        facebookSend();
                    } else {
                        console.log('Not logged in');
                    }
                });
            }
        });

    });
    var facebookSend = function() {
        console.log('facebookSend started');
        FB.ui({ 
            method: 'feed',
            display: 'iframe',
            link: '*PAGE_LINK*'
        });
    }
</script>
4

0 に答える 0