6

我已经使用 HybridAuth 在我的 Facebook 应用程序中授权了一个用户,并将他的 access_token 存储在我的数据库中。

几天后,当用户不在线时,我想获取他的新 Facebook 朋友,也使用 HybridAuth。

我可以从他的 access_token 中“重新创建”该用户以获取他的朋友、发送通知等吗?

谢谢!

4

2 回答 2

7

我终于找到了一个可行的方法,我会把它留在这里,让下一个寻找它的人。如果您确保您的用户和应用程序具有有效的令牌,HybridAuth 不应尝试重定向或返回任何错误

(我正在使用 Codeigniter,但将其转换为“纯”HybridAuth 应该很简单:

    $token = "GET A TOKEN IN Facebook's API EXPLORER";
    $this->load->library('HybridAuthLib');
    $this->hybridauthlib->storage()->set( "hauth_session.facebook.is_logged_in", 1 );
    $this->hybridauthlib->storage()->set( "hauth_session.facebook.token.access_token", $token );        
    $service = $this->hybridauthlib->authenticate('Facebook');

    if ($service->isUserConnected()){

        $user_profile = $service->getUserProfile();
        $contacts = $service->getUserContacts();
        $access_token = $service->getAccessToken();

        var_dump($user_profile);
        var_dump($contacts);
        var_dump($access_token);

    }else{
        echo "something went wrong";
    }
于 2012-10-31T10:04:10.933 回答
1

虽然上述方法可能有效,但我相信推荐的方法可能是使用此处所述的“持久会话”:http: //hybridauth.sourceforge.net/userguide/HybridAuth_Sessions.html

于 2013-12-16T23:20:01.970 回答