Skip to content

Instantly share code, notes, and snippets.

@mickeprag
Created August 17, 2018 08:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mickeprag/835c76cc97dc6aa68cca797a4584cefd to your computer and use it in GitHub Desktop.
Save mickeprag/835c76cc97dc6aa68cca797a4584cefd to your computer and use it in GitHub Desktop.
Getting facebook page access token
<?php
$appId = '';
$appSecret = '';
// Do not change below this line
session_start();
require_once __DIR__ . '/Facebook/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => $appId,
'app_secret' => $appSecret,
'default_graph_version' => 'v2.5',
]);
$helper = $fb->getRedirectLoginHelper();
$accessToken = $_SESSION['accessToken'];
if (isset($_GET['logout'])) {
$_SESSION['accessToken'] = '';
} else if (isset($_GET['login-callback'])) {
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$_SESSION['accessToken'] = $accessToken->getValue();
}
if ($accessToken == '') {
$permissions = ['email', 'manage_pages', 'read_page_mailboxes']; // optional
$loginUrl = $helper->getLoginUrl('http://stage.telldus.se/facebook/?login-callback', $permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
die();
}
echo '<pre>';
$fb->setDefaultAccessToken($accessToken);
$response = $fb->get('/me');
$userNode = $response->getGraphUser();
echo 'Logged in as ' . $userNode->getName() . ' (' . $userNode->getId() . ")\n";
printf("Access token: %s\n\n", $accessToken);
$response = $fb->get('/' . $userNode->getId() . '/accounts');
$pd = $response->getDecodedBody();
foreach($pd['data'] as $p) {
printf("Page %s\n Id: %s\n Access token: %s\n\n", $p['name'], $p['id'], $p['access_token']);
}
echo '<a href="?logout">Logout</a>';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment