我已经使用 HybridAuth 在我的 Facebook 应用程序中授权了一个用户,并将他的 access_token 存储在我的数据库中。
几天后,当用户不在线时,我想获取他的新 Facebook 朋友,也使用 HybridAuth。
我可以从他的 access_token 中“重新创建”该用户以获取他的朋友、发送通知等吗?
谢谢!
我已经使用 HybridAuth 在我的 Facebook 应用程序中授权了一个用户,并将他的 access_token 存储在我的数据库中。
几天后,当用户不在线时,我想获取他的新 Facebook 朋友,也使用 HybridAuth。
我可以从他的 access_token 中“重新创建”该用户以获取他的朋友、发送通知等吗?
谢谢!
我终于找到了一个可行的方法,我会把它留在这里,让下一个寻找它的人。如果您确保您的用户和应用程序具有有效的令牌,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";
}
虽然上述方法可能有效,但我相信推荐的方法可能是使用此处所述的“持久会话”:http: //hybridauth.sourceforge.net/userguide/HybridAuth_Sessions.html