使用HybridAuth进行“离线”访问

时间:2012-10-30 21:41:48

标签: facebook hybridauth hybridauthprovider

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

几天后,当用户不在线时,我希望得到他的新Facebook好友,也使用HybridAuth。

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

谢谢!

2 个答案:

答案 0 :(得分: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";
    }

答案 1 :(得分:1)

虽然上述方法可行,但我认为建议的方法可能是使用“持久会话”,如下所述: http://hybridauth.sourceforge.net/userguide/HybridAuth_Sessions.html