0

Facebookのダイアログボックスに問題があります。

Facebookボタンをクリックすると、Facebookのログイン画面が表示されます。それを完了すると、ポップアップがpermissions.requestに変わります(ポップアップのURLはhttps://www.facebook.com/dialog/permissions.request?_path=permissions.request& .... "です)。私が要求している3つの情報(基本情報、あなたに関する情報、あなたの誕生日)。[Facebookでログイン]ボタンをクリックすると、URLにhttps:/が表示されますが、ポップアップが空白の画面に変わります。追加のパラメーターなしで/www.facebook.com/dialog/permissions.request 。

どんな助けでも大歓迎です。

これがjavascriptで、その下にFacebookダイアログボックスを開くために使用しているhtmlがあります。

<script type="text/javascript" language="javascript">
/*
    window.fbAsyncInit = function () {
        FB.init({ appId: '<my app id>',
                                    channelUrl: '<MY SITE ADDRESSS>/channel.html',");
            status: true,
            cookie: true,
            xfbml: true,
            oauth: true
        });



        function CheckIfPreExistingFBLogin(response) {
            alert("check if pre existing fb login");
            if (response.authResponse) {
                alert("pre existing fb login active");
                //user is already logged in and connected
                FB.api('/me', function (response) {
                    jQuery('#<%=hdnFBUID.ClientID%>').val(response.id);
                    jQuery('#<%=hdnFBemail.ClientID%>').val(response.email);
                    jQuery('#<%=hdnFBFirstName.ClientID%>').val(response.first_name);
                    jQuery('#<%=hdnFBLastName.ClientID%>').val(response.last_name);
                    jQuery('#<%=hdnFBBirthday.ClientID%>').val(response.birthday);
                    jQuery('#<%=hdnFBPreExistingLogin.ClientID%>').val("y");
                    alert("CheckIfPreExistingFBLogin got FB data - UserID=" + response.id);
                    PostItBack();
                });
            } else {
                alert("pre existing fb login is not active");
                //user is not connected to your app or logged out
                //do nothing
            }
        }

        function CheckForNewFBLogin(response) {
            alert("try to check for new fb login");
            if (response.authResponse) {
                alert("got a new FB login");
                FB.api('/me', function (response) {
                    jQuery('#<%=hdnFBUID.ClientID%>').val(response.id);
                    jQuery('#<%=hdnFBemail.ClientID%>').val(response.email);
                    jQuery('#<%=hdnFBFirstName.ClientID%>').val(response.first_name);
                    jQuery('#<%=hdnFBLastName.ClientID%>').val(response.last_name);
                    jQuery('#<%=hdnFBBirthday.ClientID%>').val(response.birthday);
                    jQuery('#<%=hdnFBPreExistingLogin.ClientID%>').val("n");
                    alert("Check for newFBLogin got FB data - UserID=" + response.id);
                    PostItBack();
                });
                //user is already logged in and connected
                // PostItBack();

            } else {
                alert("no new FB login");
                //user is not connected to your app or logged out
                //do nothing
            }
            }
        }

        function PostItBack() {
            __doPostBack('', 'gotLogin');
        }



        // run once with current status and whenever the status changes
        FB.getLoginStatus(CheckIfPreExistingFBLogin); //updateButton1
        FB.Event.subscribe('auth.statusChange', CheckForNewFBLogin);
    };


    jQuery(document).ready(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>

and here is the code for the facebook login button in the body of the form:


<div id="fb-root" "></div>

<div class="fb-login-button" scope="user_birthday, user_about_me"> Login with Facebook </div>
4

1 に答える 1

0

これはおそらくこのバグによるものです: FB.login does not trigger callback + does not close their on localhost:8080、現在修正済みと報告されています。

于 2012-07-06T01:40:28.537 に答える