Я пытаюсь создать приложение Facebook, в котором после входа пользователя в Facebook мое приложение будет распечатывать его имя пользователя и маркер доступа к приложению.
Привет пользователь Facebook,
Маркер доступа: CAAAAAIZAgwGsBAARk1sPr3PGY196qsdFc518GrC3ADMkilY4oFgAoTLTuPO8YkXaHqMOiKZAXoubyOLmABwa6ZA386iNZCqUP569ABJ5UMlO65rhIRnIu912lSdSTaxgzdUH2PvJM18ANZBEOqEIQ00C3ju0UcaW3TKIyhNGIJb0CXbZkdC6WYL1aD46wrc6KDuSB62g4SYmveFDjNvClhgZB6fV0PCaWHYg4e1csxMfIgZDZD
Я немного знаю PHP. Пожалуйста, помогите мне, как я могу получить токен доступа и распечатать его в моем приложении, чтобы пользователь мог видеть свой токен доступа в моем приложении. Пожалуйста, расскажите мне весь пример кода, как я могу это сделать.
Вот мой код, но это неправильно:
<?php
session_start();
require_once 'facebook-php-sdk/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
$api_key = 'id';
$api_secret = 'secret';
$redirect_login_url = 'url';// initialize your app using your key and secret
FacebookSession::setDefaultApplication($api_key, $api_secret);
// create a helper opject which is needed to create a login URL
// the $redirect_login_url is the page a visitor will come to after login
$helper = new FacebookRedirectLoginHelper( $redirect_login_url);try {
$session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
// When Facebook returns an error
} catch( Exception $ex ) {
// When validation fails or other local issues
}
// see if we have a session
if ( isset( $session ) ) {
$code = $_GET['code'];
function getaAccessToken($api_key, $api_secret, $redirect_login_url, $code) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v2.0/oauth/access_token?'. 'client_id=' . $api_key . '&redirect_uri=' . urlencode($redirect_login_url) . '&client_secret=' . $api_secret . '&code=' . $code);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$r = curl_exec($ch);
$r = strstr(str_replace('access_token=', '', $r), '&expires=', true);
return $r;
}
$access_token = getaAccessToken();
echo $access_token;
} else {
// show login url
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
?>
Задача ещё не решена.
Других решений пока нет …