我在 Zend-Framework 中开发了相同类型的应用程序。我已经将 Facebook/PHP-SDK 与 oAuth 2.0 一起使用。
在这种情况下,您需要在数据库中为特定用户保存访问令牌。并且使用该访问令牌,您可以获得任何数据以及发布到。是的,您需要为您的 Facebook APP 授予用户必要的许可。
这是我在应用程序中用于获取访问令牌、扩展它并存储在数据库中的两个函数。
/**
* Getting User Acess Tocken , extended it and save it in to database......
*/
public function getAccessToken($user_id,$fb_account_id)
{
$access_token=$this->facebook->getAccessToken();
$extended_access_token=$this->getExtendedAccessToken($access_token);
/**
* To save Access tocken and other necessary option
*/
$usr_bus_model = new Application_Model_UserBusinessAccounts;
$usr_bus_model->loadAccount($user_id,'Facebook',(int)$fb_account_id);
$usr_bus_model->details=$extended_access_token;
$usr_bus_model->save();
return $extended_access_token;
}
/**
* Exrending User Acess Tocken.....
*/
public function getExtendedAccessToken($access_token)
{
$token_url="https://graph.facebook.com/oauth/access_token";
$params=array('client_id'=>self :: appId,'client_secret'=>self :: appSecretId,'grant_type'=>'fb_exchange_token','fb_exchange_token'=>$access_token);
$response = $this->curl($token_url,$params);
$response = explode ('=',$response);
$response = explode ('&',$response[1]);
$response = $response[0];
return $response;
}
希望能帮助到你。