[英]php facebook api getAccessToken and setExtendedAccessToken
I'm using the facebook sdk to get a users accessToken and set a long term session (by keeping the key in a database) so they don't have to allow access to the app each time. 我正在使用facebook sdk获取用户accessToken并设置长期会话(通过将密钥保留在数据库中),这样他们就不必每次都允许访问该应用程序。
I'm trying to get the access token but I'm getting 我正在尝试获取访问令牌,但我正在获取
[2014-07-21 18:56:18] production.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to undefined method Facebook\FacebookRedirectLoginHelper::getAccessToken()' in /var/www/app/controllers/FacebookController.php:45
Stack trace:
#0 [internal function]: Illuminate\Exception\Handler->handleShutdown()
#1 {main} [] []
My code 我的密码
session_start();
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
class FacebookController extends \BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
FacebookSession::setDefaultApplication('xxx','xxx');
$helper = new FacebookRedirectLoginHelper('http://test.dev/index.php/facebook');
try {
$session = $helper->getSessionFromRedirect();
echo 'test 1';
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
echo 'test 2';
echo '<pre>' , print_r($ex) , ' </pre>';
} catch(\Exception $ex) {
// When validation fails or other local issues
echo 'test 3';
echo '<pre>' , print_r($ex) , ' </pre>';
}
if ($session) {
// Logged in
echo 'logged in';
print_r($helper->getAccessToken());
}else {
echo 'not logged in ';
$loginUrl = $helper->getLoginUrl();
echo '<a href="'.$loginUrl.'user_photos">Login</a>';
}
}
}
You are calling the helper to get the access token, you need to be calling that from $session 您正在呼叫帮助程序以获取访问令牌,您需要从$ session进行呼叫
$session->getAccessToken() $ session-> getAccessToken()
Also if you just want the token itself and not the accessToken object 另外,如果您只想要令牌本身而不是accessToken对象
$session->getToken(); $ session-> getToken();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.