/**
  * Retrieves Facebook access token.
  *
  * @since 0.4
  */
 public function get_fb_access_token()
 {
     $access_token = null;
     if (isset($this->fb_sdk)) {
         try {
             $helper = $this->fb_sdk->getRedirectLoginHelper();
             $access_token = $helper->getAccessToken();
         } catch (Facebook\Exceptions\FacebookResponseException $e) {
             // When Graph returns an error.
             Logger::getLogger('instantarticles-wp-plugin')->error('Graph returned an error: ' . $e->getMessage(), $e->getTraceAsString());
         } catch (Facebook\Exceptions\FacebookSDKException $e) {
             // When validation fails or other local issues.
             Logger::getLogger('instantarticles-wp-plugin')->error('Facebook SDK returned an error: ' . $e->getMessage(), $e->getTraceAsString());
         }
     }
     if (null !== $access_token) {
         // Logged in.
         return $access_token;
     }
 }
Beispiel #2
0
     $_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
     $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']);
     $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken;
     $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
 }
 // validating the access token
 try {
     $request = $fb->get('/me');
 } catch (Facebook\Exceptions\FacebookResponseException $e) {
     // When Graph returns an error
     if ($e->getCode() == 190) {
         unset($_SESSION['facebook_access_token']);
         $helper = $fb->getRedirectLoginHelper();
         $loginUrl = $helper->getLoginUrl('https://apps.facebook.com/APP_NAMESPACE/', $permissions);
         echo "<script>window.top.location.href='" . $loginUrl . "'</script>";
         exit;
     }
 } catch (Facebook\Exceptions\FacebookSDKException $e) {
     // When validation fails or other local issues
     echo 'Facebook SDK returned an error: ' . $e->getMessage();
     exit;
 }
 // getting basic info about user
 try {
     $profile_request = $fb->get('/me?fields=name,first_name,last_name,email');
     $profile = $profile_request->getGraphNode()->asArray();
 } catch (Facebook\Exceptions\FacebookResponseException $e) {
     // When Graph returns an error