我已经使用HybridAuth在我的Facebook应用程序中授权用户,并将他的access_token存储在我的数据库中。
几天后,当用户不在线时,我希望得到他的新Facebook好友,也使用HybridAuth。
我可以从access_token中重新创建该用户以获取他的朋友,发送通知等吗?
谢谢!
答案 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