2

Facebook のログイン ボタンを自分の Web サイトに統合したいと考えています。ユーザーは自分の Facebook アカウントを使用してのみログインできます。ユーザーに関する他の情報には興味がありません。

しかし、私は少し混乱しています... Facebookの公式ドキュメントを読んだのですが、何が必要なのか理解できませんでした。Graph APIを使用する必要があるのか​​、それともソーシャル プラグインログイン ボタンを使用する必要があるのか​​がわかりません

私の疑問を解決するのを手伝ってくれませんか? どうもありがとう!

4

1 に答える 1

0

これをフラッシュで使用するには、いくつかの ExternalInterface 呼び出しで javascript SDK を使用する必要があります。これが私がいつもやっている方法です。

AS3

        public function FBconnect():void {
            ExternalInterface.addCallback("onLogin", onLogin);
            ExternalInterface.addCallback("onError", onError);
            ExternalInterface.call("requestLogin");
        }

        private function onError():void {
            dispatchEvent(new DataEvent(DataEvent.ERROR));
        }

        public function logout():void {
            ExternalInterface.call("FB.logout", null);
        }

        private function onLogin():void {
            debugTools.trace("FB LOGIN");
            connectUser();
        }

        private function connectUser():void {
            ExternalInterface.addCallback("loadUser", userCallback);
            ExternalInterface.call("connectUser");
        }

        private function userCallback(data:Array):void {
            debugTools.trace("FB USER LOADED");
            var userData:Object = data[0];

            _FBuser = new FBUser(userData.id);
            _FBuser.firstName = userData.first_name;
            _FBuser.lastName = userData.last_name;
            _FBuser.email = userData.email;

            dispatchEvent(new DataEvent(DataEvent.SUCCESS));
        }

JS

window.fbAsyncInit = function() {
                FB.init({
                    appId: YOUR_APP_ID,
                    status: false,
                    cookie: true,
                    xfbml: false
                });         
            };
            (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);
            }());

            function connectUser() {
                FB.api('/me', function(response) {
                    if(response) {                  
                        var usrs = new Array();
                        usrs.push(response);
                        document.getElementById('flashObj').loadUser(usrs);
                    } else {
                        document.getElementById('flashObj').onError();
                    }
                });
            };

            function requestLogin() {
                FB.login(function(response) {
                    if (response.authResponse) {
                        document.getElementById('flashObj').onLogin();              
                    } else {
                        document.getElementById('flashObj').onError();
                    }
                }, {scope:'email'});
            }

だからそれを分解する。

ウェブページに JavaScript SDK をロードします。わからない場合は、Facebook のドキュメントでその方法を確認してください。

次に、ExternalInterface を介して JS で FB.login を呼び出し、応答時に document.getElementById を介して AS3 関数を呼び出します (swf にアクセスするため)。

次に、Graph API を使用して同じことを行い、ユーザーに関する情報を取得します。

私の経験では、これは Facebook がユーザーを Flash アプリケーションに接続するための最良のワークフローです。

于 2012-06-08T09:14:20.683 に答える