【问题标题】:Facebook api authentication PHPFacebook api 认证 PHP
【发布时间】:2012-02-09 13:05:01
【问题描述】:

在我的网站中,我正在使用 Facebook API 实现身份验证。

<fb:login-button onlogin="fbLoginEvent(arguments)">Enter with Facebook</fb:login-button>

我的函数 fbLoginEvent:

function fbLoginEvent( args ) {
    //console.log( "fbLogin", args );
    //var session = FB.getSession();
    var session = FB.getAuthResponse();
    if (session) {
        fbCheckSession(session, function(data) {
            if (data.result) {
            fbLoginNow();
    } else {                        
            $('#facebook-register').data("overlay").load();

    }
         });
}
}

还有我检查会话的功能:

var fbLogin = { status: false, uid: 0, access_token: "" };

function fbCheckSession( session, callback ) {
    if ( session && $.type(callback) == "function" ) {
    ajaxCall( "facebook", "check_session", {uid: session.uid, token: session.access_token}, function(data){
        if ( data.result ) {
        fbLogin.status = true;
        fbLogin.fbuid = session.uid;
        fbLogin.uid = data.info.id;
        fbLogin.access_token = session.access_token;
            callback( { result: true, info: { name: data.info.name, fbLogin: fbLogin } } );
            } else {
        callback( { result: false } );
            }
    });
}                   
}

我做了各种检查,发现uid和tokens的值都是空的。 有什么解决办法吗? 想

【问题讨论】:

    标签: php javascript facebook facebook-graph-api interface


    【解决方案1】:

    你把session变量赋值给JS-SDK的FB.getAuthResponse函数是个错误

    使用

    var session = FB.getAuthResponse();
    

    代替

    var session = FB.getAuthResponse
    

    您还使用了不正确的属性名称,authResponse 使用与 FB.getLoginStatus 相同的格式,而不是以前版本 JS-SDK 的 getSession 返回的格式。

    uid 命名为userID,而access_tokenaccessToken

    【讨论】:

    • session.uid 和 session.access_token 为空。我不知道。
    猜你喜欢
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多