示例#1
0
<?php

require_once __DIR__ . '/vendor/autoload.php';
session_start();
$fb = new Facebook\Facebook(['app_id' => '495125297340244', 'app_secret' => 'c8fec76a911a11491b893e079bb91779', 'default_graph_version' => 'v2.5']);
$helper = $fb->getCanvasHelper();
$permissions = ['email', 'publish_actions'];
// optional
try {
    if (isset($_SESSION['facebook_access_token'])) {
        $accessToken = $_SESSION['facebook_access_token'];
    } else {
        $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;
}
if (isset($accessToken)) {
    if (isset($_SESSION['facebook_access_token'])) {
        $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
    } else {
        $_SESSION['facebook_access_token'] = (string) $accessToken;
        // OAuth 2.0 client handler
        $oAuth2Client = $fb->getOAuth2Client();
        // Exchanges a short-lived access token for a long-lived one
示例#2
0
 /**
  * Connection to facebook application
  *
  * @return \Facebook\Facebook
  */
 private function connectApps()
 {
     $fb = new \Facebook\Facebook(['app_id' => $this->appID, 'app_secret' => $this->appSecret, 'default_graph_version' => $this->defaultGraphVersion]);
     try {
         $token = $fb->getCanvasHelper()->getAccessToken();
     } catch (FacebookSDKException $e) {
         throw new HttpException(500, 'Facebook Access Token returned an error: ' . $e->getMessage());
     }
     if ($token == null) {
         $helper = $fb->getRedirectLoginHelper();
         $scope = ['email', 'user_likes', 'publish_actions'];
         $loginUrl = $helper->getLoginUrl('https://apps.facebook.com/' . $this->appID, $scope);
         echo '<script>window.top.location.href = "' . $loginUrl . '"</script>';
     } else {
         $fb->setDefaultAccessToken($token);
     }
     $this->session->set('access_token', $token);
     $this->session->set('fb', $fb);
     return $fb;
 }