public function insertAction($args)
 {
     require_once __DIR__ . '/facebook-php-sdk-v4-5.0.0/src/Facebook/autoload.php';
     $fb = new Facebook\Facebook(['app_id' => '959119600818575', 'app_secret' => '9f0062f110ea6d3589e7debcb04c2268', 'default_graph_version' => 'v2.5']);
     $userId = $_GET['userId'];
     $lastName = $_GET['lastName'];
     $firstName = $_GET['firstName'];
     $token = $_GET['token'];
     $var = $fb->get('/me?fields=picture, albums', $token);
     $obj = $var->getGraphNode();
     $picture = $obj['picture'];
     $photo = $picture['url'];
     $roles = $fb->get('/959119600818575/roles', '959119600818575|NrwTVp41hp0a8XVklYVvKLOKAzE');
     $response = $roles->getGraphEdge();
     //On vérifie si il est admin ou pas
     foreach ($response as $data) {
         if ($userId == $data['user']) {
             $_SESSION["role"] = "admin";
             $_SESSION["name"] = $firstName . " " . $lastName;
             $_SESSION["idUser"] = $userId;
             $_SESSION["photo"] = $photo;
             $_SESSION["token"] = $token;
             header('Location: /contest');
             exit;
         }
     }
     //On liste les user inscrits
     $verif = $db->prepare("SELECT id_member FROM member");
     $verif->execute();
     $result = $verif->fetchAll(PDO::FETCH_ASSOC);
     //Si le tableau est vide on enregistre le user
     if (count($result) == 0) {
         $_SESSION["role"] = "user";
         $_SESSION["name"] = $firstName . " " . $lastName;
         $_SESSION["idUser"] = $userId;
         $_SESSION["photo"] = $photo;
         $insertUser = $db->prepare("INSERT INTO member(id_member, lastname, firstname, picture) VALUES ('" . $userId . "','" . $lastName . "','" . $firstName . "','" . $photo . "')");
         $insertUser->execute();
         header('Location: /contest');
     }
     //On parcoure le tableau
     foreach ($result as $count) {
         $_SESSION["role"] = "user";
         $_SESSION["name"] = $firstName . " " . $lastName;
         $_SESSION["idUser"] = $userId;
         $_SESSION["photo"] = $photo;
         if ($userId != $count['id_member']) {
             //echo "on enregistre"
             $insertUser = $db->prepare("INSERT INTO member(id_member, lastname, firstname, picture) VALUES ('" . $userId . "','" . $lastName . "','" . $firstName . "','" . $photo . "')");
             $insertUser->execute();
             header('Location: /contest');
         } else {
             //echo "on enregistre pas<br>";
             header('Location: /contest');
         }
     }
 }
示例#2
0
 public function getFacebookUserObject()
 {
     require_once APPPATH . "../assets/front/social/facebook/autoload.php";
     $output_status = 'success';
     $access_token_value = NULL;
     // Create our Application instance (replace this with your appId and secret).
     $fb = new Facebook\Facebook(['app_id' => FACEBOOK_APP_ID, 'app_secret' => FACEBOOK_SECRET_ID, 'default_graph_version' => 'v2.5']);
     $helper = $fb->getRedirectLoginHelper();
     try {
         $accessToken = $helper->getAccessToken();
         // Returns a `Facebook\FacebookResponse` object
         $response = $fb->get('/me?fields=id,name,email', $accessToken);
         $output_message = $user = $response->getGraphUser();
         // The OAuth 2.0 client handler helps us manage access tokens
         $oAuth2Client = $fb->getOAuth2Client();
         $access_token_value = (string) $oAuth2Client->getLongLivedAccessToken($accessToken)->getValue();
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         //            echo 'Graph returned an error: ' . $e->getMessage();
         $output_message = $e->getMessage();
         $output_status = 'error';
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         //            echo 'Facebook SDK returned an error: ' . $e->getMessage();
         $output_message = $e->getMessage();
         $output_status = 'error';
     }
     return array('status' => $output_status, 'data' => $output_message, 'accessToken' => $access_token_value);
 }
示例#3
0
 /**
  * @Method({"POST"})
  * @Route("/facebook/login", name="facebook_login")
  */
 public function facebookLoginAction(Request $request)
 {
     $code = $request->get('code');
     $fb = new \Facebook\Facebook(['app_id' => '529276757135612', 'app_secret' => '0fe34b757c10440e7259665a53dda55a', 'default_graph_version' => 'v2.5']);
     try {
         $accessToken = $fb->getOAuth2Client()->getAccessTokenFromCode($code, 'http://api.viettut.com/');
         $response = $fb->get('/me?fields=id,name,email', $accessToken->getValue());
         $user = $response->getGraphUser();
         $userManager = $this->container->get('viettut_user.domain_manager.lecturer');
         $lecturer = $userManager->findUserByUsernameOrEmail($user['email']);
         if ($lecturer instanceof UserInterface) {
             $lecturer->setFacebookId($user['id'])->setName($user['name']);
         } else {
             $userDiscriminator = $this->get('rollerworks_multi_user.user_discriminator');
             $userDiscriminator->setCurrentUser('viettut_user_system_lecturer');
             $lecturer = $userManager->createNew();
             $lecturer->setEnabled(true)->setFacebookId($user['id'])->setPlainPassword($user['email'])->setUsername($user['email'])->setEmail($user['email'])->setName($user['name'])->setActive(true)->setAvatar(sprintf('https://graph.facebook.com/%s/picture?type=square', $user['id']));
             $userManager->save($lecturer);
         }
         $jwtManager = $this->get('lexik_jwt_authentication.jwt_manager');
         $jwtTransformer = $this->get('viettut_api.service.jwt_response_transformer');
         $tokenString = $jwtManager->create($lecturer);
         return JsonResponse::create($jwtTransformer->transform(['token' => $tokenString], $lecturer), 200);
     } catch (\Facebook\Exceptions\FacebookResponseException $e) {
         throw new UnauthorizedHttpException('Can not login with that account');
     } catch (\Facebook\Exceptions\FacebookSDKException $e) {
         throw new UnauthorizedHttpException('Can not login with that account');
     }
 }
示例#4
0
 public function indexAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $config = array('app_id' => '1553973548253647', 'app_secret' => 'b0ea352b328e6a61b2ec1f07672db859', 'default_graph_version' => 'v2.5', 'persistent_data_handler' => 'session');
     $fb = new Facebook\Facebook($config);
     $helper = $fb->getRedirectLoginHelper();
     $permissions = ['manage_pages'];
     $loginUrl = $helper->getLoginUrl('http://www.aeh.dev/kahina/painel/facebook/callback', $permissions);
     $accessToken = $helper->getAccessToken();
     if ($this->user->accessToken) {
         $logoutUrl = $helper->getLogoutUrl($this->user->accessToken, 'http://www.aeh.dev/kahina/painel/facebook/logout');
         echo '<a href="' . $loginUrl . '">Relogin Facebook</a><br>';
         echo '<a href="' . $logoutUrl . '">Logout Facebook</a>';
         // The OAuth 2.0 client handler helps us manage access tokens
         $oAuth2Client = $fb->getOAuth2Client();
         // Get the access token metadata from /debug_token
         $tokenMetadata = $oAuth2Client->debugToken($this->user->accessToken);
         echo '<h3>Metadata</h3>';
         var_dump($tokenMetadata);
     } else {
         echo '<a href="' . $loginUrl . '">Login with Facebook</a>';
         exit;
     }
     echo '<h3>User Data</h3>';
     var_dump($this->user);
     $response = $fb->get('/me/accounts', $this->user->accessToken);
     echo '<h3>Get Response</h3>';
     var_dump($response->getBody());
     echo '<h3>Access Token</h3>';
     var_dump($accessToken);
 }
 function GetUserInfo()
 {
     $fields = "";
     $o = null;
     $n = null;
     if (isset($_GET['fields'])) {
         $o = $_GET['fields'] . ",id";
         $n = explode(',', $o);
         foreach ($n as $field) {
             $fields .= $field . ",";
         }
         //remove last comma
         $fields = rtrim($fields, ",");
     } else {
         return "Missing required param";
         exit;
     }
     $config = (include "/config.php");
     $fb = new Facebook\Facebook(['app_id' => $config['app_id'], 'app_secret' => $config['app_secret'], 'default_graph_version' => 'v2.4']);
     try {
         $response = $fb->get('/me?fields=' . $fields, $_SESSION['facebook_access_token']);
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         return 'Graph returned an error: ' . $e->getMessage();
         exit;
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         return 'Facebook SDK returned an error: ' . $e->getMessage();
         exit;
     }
     $user = $response->getGraphUser();
     return $user;
     //return $return;
 }
/**
 * return true if the current user is a member of $group. here $group will only ever be 'site-planning', but if
 * multiple groups where defined it would be important to distinguish
 * @param  string  $group always 'site-planning'
 * @return boolean
 */
function isMemberOf($group)
{
    if (Core::Client()->isAdmin()) {
        return true;
    }
    //TODO:
    //   load fb api.
    //   get token from stored FacebookPlugin parameters
    //
    //   -- token should have been set up with extended access to user who is an admin of the group --
    //
    //   -- for group: fb-admin check //.../{group}/admins
    //   -- for group: fb-member check //../{group}/members
    //
    //
    $fbPlugin = Core::LoadPlugin('FacebookPage');
    include_once $fbPlugin->getPath() . DS . 'vendor' . DS . 'autoload.php';
    $db = Core::GetDatasource();
    $prfx = $db->getPrefix();
    $uid = Core::Client()->getUserId();
    $results = $db->query('SELECT provider_uid FROM ' . $prfx . 'users_authentications WHERE user_id=' . $uid . ' AND provider=\'facebook\'');
    if (empty($results)) {
        return false;
    }
    $fbuid = $results[0]->provider_uid;
    // the following credentials will need to be set.
    // do not publish the source with real credentials or someone could hijack
    // the facebook group
    $app_id = '*****';
    $app_secret = '*****';
    $app_token = '*****';
    $group_id = '*****';
    $fb = new Facebook\Facebook(array('app_id' => $app_id, 'app_secret' => $app_secret, 'default_graph_version' => 'v2.5'));
    $accessToken = $app_token;
    $fbGroupId = $group_id;
    $response = $fb->get('/' . $fbGroupId . '/members', $accessToken);
    $data = json_decode($response->getBody());
    //->data;
    $members = $data->data;
    while (key_exists('paging', $data) && key_exists('next', $data->paging)) {
        // facebook group member list might include paging. combine all pages.
        $text = file_get_contents($data->paging->next);
        $data = json_decode($text);
        $members = array_merge($members, $data->data);
    }
    foreach ($members as $member) {
        if ($member->id == $fbuid) {
            if ($group == "fb-admin") {
                if ($member->administrator) {
                    return true;
                }
                return false;
            }
            return true;
        }
    }
    //print_r(array($fbuid,$members));
    return false;
}
 public static function getEntriesByTimeline()
 {
     //Start - get all timelines from the database
     $sql = rex_sql::factory();
     $timelines = $sql->getArray('SELECT `user_id` FROM `' . rex::getTablePrefix() . 'socialhub_facebook_timeline`');
     unset($sql);
     if (empty($timelines)) {
         return false;
     }
     //End - get all timelines from the database
     //Start - get all accounts from the database
     $sql = rex_sql::factory();
     $accounts = $sql->getArray('SELECT * FROM `' . rex::getTablePrefix() . 'socialhub_facebook_account` ORDER BY `id` ASC');
     unset($sql);
     if (empty($accounts)) {
         return false;
     }
     //End - get all accounts from the database
     //Start - get entries by timeline from twitter
     foreach ($timelines as $timeline) {
         $fb = new Facebook\Facebook(['app_id' => $accounts[0]['app_id'], 'app_secret' => $accounts[0]['app_secret'], 'default_graph_version' => 'v2.5', 'default_access_token' => $accounts[0]['app_id'] . '|' . $accounts[0]['app_secret']]);
         try {
             $response = $fb->get('/' . $timeline['user_id'] . '/posts');
         } catch (Facebook\Exceptions\FacebookResponseException $e) {
             echo rex_view::error('Graph returned an error: ' . $e->getMessage());
         } catch (Facebook\Exceptions\FacebookSDKException $e) {
             echo rex_view::error('Facebook SDK returned an error: ' . $e->getMessage());
         }
         if (empty($response)) {
             return;
         }
         $response = json_decode($response->getBody(), true);
         foreach ($response['data'] as $post) {
             list($userID, $postID) = explode('_', $post['id']);
             $newPost = rex_sql::factory();
             $newPost->setTable(rex::getTablePrefix() . 'socialhub_entry_timeline');
             $newPost->setWhere(['post_id' => $postID]);
             $newPost->select();
             if ($newPost->getRows() === 0) {
                 $newPost->reset();
                 $newPost->setTable(rex::getTablePrefix() . 'socialhub_entry_timeline');
                 $newPost->setValue('source', 'facebook');
                 $newPost->setValue('post_id', $postID);
                 $newPost->setValue('message', $post['message']);
                 $newPost->setValue('author_id', $userID);
                 $newPost->setValue('created_time', date('Y-m-d H:i:s', strtotime($post['created_time'])));
                 $newPost->setValue('query', '/' . $timeline['user_id'] . '/posts');
                 try {
                     $newPost->insert();
                 } catch (rex_sql_exception $e) {
                     echo rex_view::warning($e->getMessage());
                 }
             }
         }
     }
     //End - get entries by timeline from twitter
 }
示例#8
0
 public function me()
 {
     $fb = new \Facebook\Facebook(['app_id' => $this->appId, 'app_secret' => $this->appSecret, 'default_graph_version' => 'v2.5']);
     $token = $this->session->getToken();
     $response = $fb->get('/me?locale=en_US&fields=gender,last_name,email,first_name,verified', $token);
     $userNode = $response->getGraphNode();
     $email = $userNode->getField('email');
     $name = $userNode->getField('last_name');
     $firstname = $userNode->getField('first_name');
     $gender = $userNode->getField('gender');
     $verified = $userNode->getField('verified');
     $id = $userNode->getField('id');
     $this->session->setGender($gender)->setVerified($verified)->setName($name)->setFirstname($firstname)->setEmail($email)->setId($id);
 }
示例#9
0
 public function data()
 {
     $config = new Controllers_Api_Facebook_Config_App();
     $fb = new Facebook\Facebook(['app_id' => $config->config['app_id'], 'app_secret' => $config->config['app_secret'], 'default_graph_version' => $config->config['default_graph_version']]);
     $helper = $fb->getRedirectLoginHelper();
     $result = array();
     try {
         $accessToken = $helper->getAccessToken();
         if (!isset($accessToken)) {
             if ($helper->getError()) {
                 $result = array('status' => false, 'error' => $helper->getError(), 'code' => $helper->getErrorCode(), 'reason' => $helper->getErrorReason(), 'description' => $helper->getErrorDescription());
             } else {
                 $result = array('status' => false, 'error' => 'Bad request');
             }
         } else {
             $oAuth2Client = $fb->getOAuth2Client();
             // Get the access token metadata from /debug_token
             $tokenMetadata = $oAuth2Client->debugToken($accessToken);
             $expired = $tokenMetadata->metadata['expires_at'];
             $issued = $tokenMetadata->metadata['issued_at'];
             $result['status'] = true;
             $result['data']['token'] = $tokenMetadata;
             //session 2
             try {
                 // Returns a `Facebook\FacebookResponse` object
                 $response = $fb->get('/me?fields=id,name,email', $accessToken->getValue());
                 $user = json_decode($response->getGraphUser());
                 $result['data']['user'] = $user;
             } catch (Facebook\Exceptions\FacebookResponseException $e) {
                 $result['data']['user'] = $e->getMessage();
             } catch (Facebook\Exceptions\FacebookSDKException $e) {
                 $result['data']['user'] = $e->getMessage();
             }
         }
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         // When Graph returns an error
         $result = array('status' => false, 'error' => $e->getMessage());
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         // When validation fails or other local issues
         $result = array('status' => false, 'error' => $e->getMessage());
     }
     $result['social'] = 'facebook';
     //$redirect_uri    = $this->input->get('redirect_uri');
     //if(isset($_GET['code'])){
     //    header("Location: ".$redirect_uri."?".http_build_query($result, '', '&'));
     // }else{
     echo json_encode($result);
     // }
 }
function download_album($accessToken, $album_download_directory, $album_id, $album_name)
{
    $fb = new Facebook\Facebook(['app_id' => APPID, 'app_secret' => APPSECRET, 'default_graph_version' => 'v2.4']);
    $response = $fb->get('/' . $album_id . '/photos?fields=source', $accessToken);
    $album_photos = $response->getDecodedBody();
    $album_directory = $album_download_directory . $album_name;
    if (!file_exists($album_directory)) {
        mkdir($album_directory, 0777);
    }
    $i = 1;
    foreach ($album_photos['data'] as $album_photo) {
        file_put_contents($album_directory . '/' . $i . ".jpg", fopen($album_photo['source'], 'r'));
        $i++;
    }
}
示例#11
0
 public function facebook_get_user($access_key)
 {
     $fb = new Facebook\Facebook(['app_id' => FB_APP_ID, 'app_secret' => FB_SECRET_KEY, 'default_graph_version' => 'v2.2']);
     try {
         $response = $fb->get('/me?fields=id,name', $access_key);
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         echo 'Graph returned an error: ' . $e->getMessage();
         exit;
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         echo 'Facebook SDK returned an error: ' . $e->getMessage();
         exit;
     }
     $user = $response->getGraphUser();
     return $user;
 }
 /**
  * Checks with the site to confirm that the given token is indeed valid
  * and corresponds with the userID we were given. It can do anything else
  * it needs as well (e.g. facebook provides a debug_token endpoint)
  *
  * @param string $token
  * @param string $userID
  * @return boolean
  */
 public function validateToken($token, $userID)
 {
     $fb = new Facebook\Facebook(['app_id' => Config::inst()->get('FacebookApi', 'AppID'), 'app_secret' => Config::inst()->get('FacebookApi', 'AppSecret'), 'default_graph_version' => 'v2.2']);
     try {
         // Returns a `Facebook\FacebookResponse` object
         $response = $fb->get('/me?fields=id,name', $token);
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         SS_Log::log("Graph returned an error: " . $e->getMessage(), SS_Log::INFO);
         return false;
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         SS_Log::log('Facebook SDK returned an error: ' . $e->getMessage(), SS_Log::WARN);
         return false;
     }
     $user = $response->getGraphUser();
     return $user->getId() == $userID;
 }
示例#13
0
 public static function VerifyFB($accessToken)
 {
     // Call Facebook and let them verify if the information sent by the user
     // is the same with the ones in their database.
     // This will save us from the exploit of a post request with bogus details
     $fb = new Facebook\Facebook(array('app_id' => '1577295149183234', 'app_secret' => '23a15a243f7ce66a648ec6c48fa6bee9', 'default_graph_version' => 'v2.4'));
     try {
         // Returns a `Facebook\FacebookResponse` object
         $response = $fb->get('/me', $accessToken);
         // Use the access token retrieved by JS login
         return $response;
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         //return json_encode(array('message' => $e->getMessage()));
         Auth::logout();
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         //return json_encode(array('message' => $e->getMessage()));
         Auth::logout();
     }
 }
示例#14
0
文件: fblogin.php 项目: Xi-Plus/TPV
function checklogin()
{
    session_start();
    if (isset($_SESSION['fb_access_token'])) {
        require_once __DIR__ . "/facebook-php-sdk-v4/src/Facebook/autoload.php";
        require __DIR__ . "/../config/config.php";
        $fb = new Facebook\Facebook(['app_id' => $config['facebook']['app_id'], 'app_secret' => $config['facebook']['app_secret'], 'default_graph_version' => 'v2.5']);
        try {
            $response = $fb->get('/me', $_SESSION['fb_access_token'])->getDecodedBody();
        } catch (Facebook\Exceptions\FacebookResponseException $e) {
            // echo 'Graph returned an error: ' . $e->getMessage();
        } catch (Facebook\Exceptions\FacebookSDKException $e) {
            // echo 'Facebook SDK returned an error: ' . $e->getMessage();
        }
        return $response;
    } else {
        return false;
    }
}
 public function callbackAction()
 {
     $fb = new \Facebook\Facebook(['app_id' => "{$this->ecommerce_options->facebook_appId}", 'app_secret' => "{$this->ecommerce_options->facebook_appSecret}", 'default_graph_version' => 'v2.2']);
     $helper = $fb->getRedirectLoginHelper();
     $accessToken = $helper->getAccessToken();
     try {
         // Returns a `Facebook\FacebookResponse` object
         $response = $fb->get('/me?fields=id,name,email', $accessToken);
     } catch (\Facebook\Exceptions\FacebookResponseException $e) {
         echo 'Graph returned an error: ' . $e->getMessage();
         exit;
     } catch (\Facebook\Exceptions\FacebookSDKException $e) {
         echo 'Facebook SDK returned an error: ' . $e->getMessage();
         exit;
     }
     $profile = $response->getGraphUser();
     $user = Usuarios::findFirst("uid = '{$profile['id']}'");
     if (!empty($user)) {
         $this->setSession($user);
         $this->dispatcher->forward(array("action" => "index"));
     } else {
         $usuario = new Usuarios();
         $usuario->email = $profile['email'];
         $usuario->nome = $profile['name'];
         $usuario->nivel_id = 3;
         $usuario->uid = $profile['id'];
         if ($usuario->save()) {
             $cliente = new Clientes();
             $cliente->usuario_id = $usuario->id;
             $cliente->save();
             $this->setSession($usuario);
             $this->dispatcher->forward(array("action" => "index"));
         } else {
             $mensagem = '';
             foreach ($usuarios->getMessages() as $value) {
                 $mensagem .= $message->getMessage() . "<br/>";
             }
             $this->flashSession->error('Houve um erro:' . $mensagem);
             return $this->response->redirect("user/login");
         }
     }
 }
示例#16
0
 /**
  * Get Facebook user data 
  *
  * @static
  * @return mixed
  */
 public static function user()
 {
     X4Core_core::auto_load('fbsdk_library');
     $fb = new Facebook\Facebook(array('app_id' => FACEBOOK_APP_ID, 'app_secret' => FACEBOOK_SECRET, 'default_graph_version' => 'v2.2'));
     // already logged with JS
     $helper = $fb->getJavaScriptHelper();
     try {
         // get the access token from a Cookie
         $accessToken = $helper->getAccessToken();
         //$_SESSION['fb_access_token'] = (string) $accessToken;
         // Returns a `Facebook\FacebookResponse` object
         $response = $fb->get('/me?fields=id,first_name,last_name,email,location', $accessToken);
         $user = $response->getGraphUser();
     } catch (Exception $e) {
         // user not found
         //echo 'User not found';
         //die;
         return false;
     }
     return $user;
 }
示例#17
0
 public function call_back()
 {
     $config = new Controllers_Api_Facebook_Config_App();
     $fb = new Facebook\Facebook(['app_id' => $config->config['app_id'], 'app_secret' => $config->config['app_secret'], 'default_graph_version' => $config->config['default_graph_version']]);
     $helper = $fb->getRedirectLoginHelper();
     $result = array();
     try {
         $accessToken = $helper->getAccessToken();
         if (!isset($accessToken)) {
             if ($helper->getError()) {
                 $result = array('status' => false, 'data' => array('error' => $helper->getError(), 'code' => $helper->getErrorCode(), 'reason' => $helper->getErrorReason(), 'description' => $helper->getErrorDescription()));
             } else {
                 $result = array('status' => false, 'data' => array('error' => 'Bad request'));
             }
         } else {
             $oAuth2Client = $fb->getOAuth2Client();
             // Get the access token metadata from /debug_token
             $tokenMetadata = $oAuth2Client->debugToken($accessToken);
             $result = array('status' => true, 'data' => array('token' => $accessToken->getValue(), 'meta' => json_decode($tokenMetadata)));
             //session 2
             try {
                 // Returns a `Facebook\FacebookResponse` object
                 $response = $fb->get('/me?fields=id,name', $accessToken->getValue());
                 $user = $response->getGraphUser();
                 $result = array_merge($result, array('detail' => $user['id']));
             } catch (Facebook\Exceptions\FacebookResponseException $e) {
                 $result = array_merge($result, array('detail' => $e->getMessage()));
             } catch (Facebook\Exceptions\FacebookSDKException $e) {
                 $result = array_merge($result, array('detail' => $e->getMessage()));
             }
         }
     } catch (Facebook\Exceptions\FacebookResponseException $e) {
         // When Graph returns an error
         $result = array('status' => false, 'data' => array('error' => $e->getMessage()));
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         // When validation fails or other local issues
         $result = array('status' => false, 'data' => array('error' => $e->getMessage()));
     }
     echo json_encode($result);
 }
示例#18
0
 public function action_facebook()
 {
     $this->load->library('session');
     require_once '/var/www/html/facebook-php-sdk-v4-5.0.0/src/Facebook/autoload.php';
     $fb = new Facebook\Facebook(['app_id' => '522965544543430', 'app_secret' => '6f6c910af14754150e1286b3e880807e', 'default_graph_version' => 'v2.5']);
     $helper = $fb->getRedirectLoginHelper();
     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;
     }
     if (isset($accessToken)) {
         // Logged in!
         $_SESSION['facebook_access_token'] = (string) $accessToken;
         // Now you can redirect to another page and use the
         // access token from $_SESSION['facebook_access_token']
         try {
             // Returns a `Facebook\FacebookResponse` object
             $response = $fb->get('/me?fields=id,name', $_SESSION['facebook_access_token']);
         } catch (Facebook\Exceptions\FacebookResponseException $e) {
             echo 'Graph returned an error: ' . $e->getMessage();
             exit;
         } catch (Facebook\Exceptions\FacebookSDKException $e) {
             echo 'Facebook SDK returned an error: ' . $e->getMessage();
             exit;
         }
         $user = $response->getGraphUser();
         $this->session->id = $user['id'] . "_facebook";
         $this->session->nickname = $user['name'];
         header("Location: http://www.dreamsoseo.com");
         exit;
     }
 }
示例#19
0
 public function index()
 {
     $this->load->helper('url');
     $fb = new Facebook\Facebook(['app_id' => $this->config->item('fb_app_id'), 'app_secret' => $this->config->item('fb_secret'), 'default_graph_version' => $this->config->item('default_graph_version')]);
     $helper = $fb->getRedirectLoginHelper();
     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;
     }
     if (isset($accessToken)) {
         // Logged in!
         $_SESSION['facebook_access_token'] = (string) $accessToken;
         // Sets the default fallback access token so we don't have to pass it to each request
         $fb->setDefaultAccessToken($accessToken);
         try {
             $response = $fb->get('/me?fields=id,email,first_name,last_name,location,picture');
             // $userNode = $response->getGraphUser();
         } 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;
         }
         $this->saveFbData($response);
     }
     redirect('http://' . $_SERVER['HTTP_HOST'] . '/survey');
     return;
 }
示例#20
0
function getUserFbInfo($token)
{
    require realpath(dirname(__FILE__) . "/../config.php");
    $servername = $config["db"]["fanbot"]["host"];
    $username = $config["db"]["fanbot"]["username"];
    $password = $config["db"]["fanbot"]["password"];
    $dbname = $config["db"]["fanbot"]["dbname"];
    $fb = new Facebook\Facebook(['app_id' => $config["fbApp"]["appId"], 'app_secret' => $config["fbApp"]["appSecret"], 'default_graph_version' => 'v2.6']);
    $fb->setDefaultAccessToken($token);
    // Use one of the helper classes to get a Facebook\Authentication\AccessToken entity.
    //   $helper = $fb->getRedirectLoginHelper();
    //   $helper = $fb->getJavaScriptHelper();
    //   $helper = $fb->getCanvasHelper();
    //   $helper = $fb->getPageTabHelper();
    try {
        // Get the Facebook\GraphNodes\GraphUser object for the current user.
        // If you provided a 'default_access_token', the '{access-token}' is optional.
        $response = $fb->get('/me?fields=id,name,last_name,first_name,friends,email,gender,birthday');
    } 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;
    }
    $me = $response->getGraphUser();
    $_SESSION['fbUser']['id'] = $me->getId();
    $_SESSION['fbUser']['link'] = $me->getLink();
    $_SESSION['fbUser']['name'] = $me->getName();
    $_SESSION['fbUser']['email'] = $me->getEmail();
    $_SESSION['fbUser']['firstName'] = $me->getFirstName();
    $_SESSION['fbUser']['lastName'] = $me->getLastName();
    $_SESSION['fbUser']['gender'] = $me->getGender();
    $_SESSION['fbUser']['friends'] = $me->getField('friends');
}
示例#21
0
}
if (isset($accessToken)) {
    if (isset($_SESSION['facebook_access_token'])) {
        $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
    } else {
        // getting short-lived access token
        $_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;
        // setting default access token to be used in script
        $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
    }
    $profile_request = $fb->get('/me?fields=name,first_name,last_name,email');
    $profile = $profile_request->getGraphNode()->asArray();
    $linkData = ['message' => 'User provided message'];
    $response = $fb->post("/me/feed", $linkData, $accessToken);
    $graphNode = $response->getGraphNode();
    echo 'Posted with id: ' . $graphNode['id'];
} else {
    $loginUrl = $helper->getLoginUrl('http://localhost/Ecommerce/trunk/public_html/fblogin-v5/post_user.php', $permissions);
    echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
}
// parametros posibles para $linkData
/* $post = array( 
		"access_token"=>$session["access_token"],
		"description"=>"Te has suscrito a la aplicación del curso de Facebook que ha creado Polin para el 2011",
		"link"=>$appUrl . "?redirect=" . base64_encode("http://p0l.in"),
		"caption"=>"Aplicación de pruebas por Polin",
示例#22
0
}
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
        $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/newfbappi/', $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;
    }
    // posting on user timeline using publish_actins permission
示例#23
0
<?php

session_start();
require_once __DIR__ . '/facebook-php-sdk-v4-5.0.0/src/Facebook/autoload.php';
require_once __DIR__ . '/facebook-php-sdk-v4-5.0.0/src/Facebook/Facebook.php';
$fb = new Facebook\Facebook(['app_id' => '1023466864382694', 'app_secret' => '814079f172a9399b12177a08a9cbbc42', 'default_graph_version' => 'v2.4']);
$token = 'CAAOi1nLkEuYBAAb450P075eXAo7scVnZAl1GXPwffgIbJqfO0AZC54bZA7T4ehfLdo574gdBiC1Wfw1CwZBdviCrLNywe2MDlK3cXdu5XqCWmtFn2s5LmGuZAsJeC5rLvZB2O4arqDdnEf6sIn98vu4lnwZA4qhypQnIbRI05Y0vvBGg9w3zj9jdVadMdzMIh13f0xtZCnEyNAZDZD';
$fb->setDefaultAccessToken($token);
$requestFriends = $fb->get('/me/taggable_friends?fields=name&limit=100');
$friends = $requestFriends->getGraphEdge();
if ($fb->next($friends)) {
    $allFriends = array();
    $friendsArray = $friends->asArray();
    $allFriends = array_merge($friendsArray, $allFriends);
    while ($friends = $fb->next($friends)) {
        $friendsArray = $friends->asArray();
        $allFriends = array_merge($friendsArray, $allFriends);
    }
    foreach ($allFriends as $key) {
        echo $key['name'] . "<br>";
    }
    echo count($allfriends);
} else {
    $allFriends = $friends->asArray();
    $totalFriends = count($allFriends);
    foreach ($allFriends as $key) {
        echo $key['name'] . "<br>";
    }
}
     $_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;
     // setting default access token to be used in script
     $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
 }
 // redirect the user back to the same page if it has "code" GET variable
 if (isset($_GET['code'])) {
     header('Location: ./');
 }
 // validating user access token
 try {
     $user = $fb->get('/me');
     $user = $user->getGraphNode()->asArray();
 } catch (Facebook\Exceptions\FacebookResponseException $e) {
     // When Graph returns an error
     echo 'Graph returned an error: ' . $e->getMessage();
     session_destroy();
     // if access token is invalid or expired you can simply redirect to login page using header() function
     exit;
 } catch (Facebook\Exceptions\FacebookSDKException $e) {
     // When validation fails or other local issues
     echo 'Facebook SDK returned an error: ' . $e->getMessage();
     exit;
 }
 $posts = $fb->get('/id/feed');
 // page username or group id or user id
 $posts = $posts->getGraphEdge()->asArray();
示例#25
0
 if (!isset($facebook_id) && $connect == NULL) {
     echo $OUTPUT->heading(get_string("acountconnect", "local_facebook"));
     $params = ["email", "publish_actions", "user_birthday", "user_tagged_places", "user_work_history", "user_about_me", "user_hometown", "user_actions.books", "user_education_history", "user_likes", "user_friends", "user_religion_politics"];
     $loginUrl = $helper->getLoginUrl($CFG->wwwroot . "/local/facebook/connect.php", $params);
     echo "<br><center><a href='" . htmlspecialchars($loginUrl) . "'><img src='app/images/login.jpg'width='180' height='30'></a><center>";
 } else {
     // If he clicked the link button.
     if ($connect != NULL) {
         // Facebook code to search the user information.
         // We have a user ID, so probably a logged in user.
         // If not, we'll get an exception, which we handle below.
         try {
             $accessToken = $helper->getAccessToken();
             if (isset($accessToken)) {
                 // Logged in!
                 $user_data = $facebook->get("/me?fields=link,first_name,middle_name,last_name", $accessToken);
                 $user_profile = $user_data->getGraphUser();
                 $link = $user_profile["link"];
                 $first_name = $user_profile["first_name"];
                 if (isset($user_profile["middle_name"])) {
                     $middle_name = $user_profile["middle_name"];
                 } else {
                     $middle_name = "";
                 }
                 $last_name = $user_profile["last_name"];
                 $record = new stdClass();
                 $record->moodleid = $USER->id;
                 $record->facebookid = $user_profile["id"];
                 $record->timemodified = $time;
                 $record->status = FACEBOOK_STATUS_LINKED;
                 $record->lasttimechecked = $time;
示例#26
0
require_once __DIR__ . '/src/Facebook/autoload.php';
$fb = new Facebook\Facebook(['app_id' => '150494718639750', 'app_secret' => 'ce13013f03d23d5c354d399a7e7a2138', 'default_graph_version' => 'v2.5']);
$helper = $fb->getJavaScriptHelper();
try {
    $accessToken = $helper->getAccessToken();
} catch (Facebook\Exceptions\FacebookResponseException $e) {
    // When Graph returns an error
    echo 'Graph returned an error: ' . $e->getMessage();
} catch (Facebook\Exceptions\FacebookSDKException $e) {
    // When validation fails or other local issues
    echo 'Facebook SDK returned an error: ' . $e->getMessage();
}
if (isset($accessToken)) {
    $fb->setDefaultAccessToken($accessToken);
    try {
        $requestProfile = $fb->get("/me?fields=name,email");
        $profile = $requestProfile->getGraphNode()->asArray();
    } catch (Facebook\Exceptions\FacebookResponseException $e) {
        // When Graph returns an error
        echo 'Graph returned an error: ' . $e->getMessage();
    } catch (Facebook\Exceptions\FacebookSDKException $e) {
        // When validation fails or other local issues
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
    }
    $_SESSION['name'] = $profile['name'];
    header('location: ../');
    exit;
} else {
    echo "Unauthorized access!!!";
    exit;
}
 $oAuth2Client = $facebook->getOAuth2Client();
 // Get the access token metadata from /debug_token
 $tokenMetadata = $oAuth2Client->debugToken($accessToken);
 /*echo '<h3>Metadata</h3>';
     var_dump($tokenMetadata);*/
 $vUniversalID = 'fb_' . $tokenMetadata->getField('user_id');
 //echo 'UniversalID='.$vUniversalID;
 // Validation (these will throw FacebookSDKException's when they fail)
 $tokenMetadata->validateAppId(facebook_app_id);
 // If you know the user ID this access token belongs to, you can validate it here
 //$tokenMetadata->validateUserId('123');
 $tokenMetadata->validateExpiration();
 if (!$accessToken->isLongLived()) {
     // Exchanges a short-lived access token for a long-lived one
     try {
         $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
     } catch (Facebook\Exceptions\FacebookSDKException $e) {
         /*echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n";
         exit;*/
         return AddAlertMessage('danger', 'Ошибка при регистрации! (2)', '/');
     }
     /*echo '<h3>Long-lived</h3>';
       var_dump($accessToken->getValue());*/
 }
 $accessTokenStr = $accessToken->getValue();
 // Поиск пользователя в бд, и если не существует, то создание нового
 $sql = "select ID " . "from Users " . "where (UniversalID = '{$vUniversalID}');";
 $rec = GetMainConnection()->query($sql)->fetch();
 if (empty($rec['ID'])) {
     try {
         // Returns a Facebook\FacebookResponse object
示例#28
0
<?php

require_once __DIR__ . '/fb-config.php';
$fb = new Facebook\Facebook($params);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'publish_actions'];
// Optional permissions
$loginUrl = $helper->getLoginUrl('http://ie6.encom.uy/fb-callback.php', $permissions);
if (empty($_SESSION['fb_access_token'])) {
    echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>';
} else {
    try {
        // Get the Facebook\GraphNodes\GraphUser object for the current user.
        // If you provided a 'default_access_token', the '{access-token}' is optional.
        $response = $fb->get('/me?fields=id,name,picture', $_SESSION['fb_access_token']);
    } 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;
    }
    $me = $response->getGraphUser();
    $_SESSION['me'] = $me;
    echo 'Logged in as ' . $me->getName();
    echo '<a href="http://ie6.encom.uy/post.php">Post on Facebook from the past!</a>';
}
示例#29
0
<?php

// 設定ファイル読み込み
require_once '../include/conf/const.php';
// 関数ファイル読み込み
require_once '../include/model/function.php';
// セッション開始
require_once __DIR__ . '/vendor/autoload.php';
session_start();
$fb = new Facebook\Facebook(['app_id' => '607604302712166', 'app_secret' => '35717e7bd645c484da39ff12a6c9ea8b', 'default_graph_version' => 'v2.4', 'default_access_token' => isset($_SESSION['facebook_access_token']) ? $_SESSION['facebook_access_token'] : '607604302712166|35717e7bd645c484da39ff12a6c9ea8b']);
$access_token = $_SESSION['facebook_access_token'];
if (isset($access_token)) {
    try {
        $response = $fb->get('/me?fields=id,email,gender,link,locale,name,timezone,updated_time,verified,last_name,first_name,middle_name');
        //var_dump($response);
        $user = $response->getGraphUser();
        //echo 'Name: ' . $user['name'] .$user['email']. 'ID' .$user['id'] ;
        //exit; //redirect, or do whatever you want
    } catch (Facebook\Exceptions\FacebookResponseException $e) {
        //echo 'Graph returned an error: ' . $e->getMessage();
    } catch (Facebook\Exceptions\FacebookSDKException $e) {
        //echo 'Facebook SDK returned an error: ' . $e->getMessage();
    }
    $helper = $fb->getRedirectLoginHelper();
    $logoutUrl = $helper->getLogoutUrl($access_token, 'http://localhost/photo_match2/htdocs/login.php');
    //FBIDの補完
    $fb_id = $user['id'];
    //ユーザーネームの補完
    $user_name = $user['name'];
    //facebook登録メールアドレスの補完
    $email = $user['email'];
示例#30
0
文件: Infomation.php 项目: ntmtri23/d
        // get access token
        $access_token = $helper->getAccessToken();
        // save access token to persistent data store
        $helper->getPersistentDataHandler()->set('access_token', $access_token);
    } catch (Exception $e) {
        // error occured
    }
}
// get stored access token
$access_token = $helper->getPersistentDataHandler()->get('access_token');
// check if we have an access_token, and that it's valid
if ($access_token && !$access_token->isExpired()) {
    // set default access_token so we can use it in any requests
    $fb->setDefaultAccessToken($access_token);
    try {
        // If you provided a 'default_access_token', second parameter '{access-token}' is optional.
        $response = $fb->get('/me');
        // use $fb->post() to make a POST API call
    } catch (Exception $e) {
        // catch any errors and halt script
        echo $e->getMessage();
        exit;
    }
    $me = $response->getGraphUser();
    echo '<p>Logged in as ' . $me->getName() . '</p>';
    echo '<pre>' . print_r($me, 1) . '</pre>';
    echo '<p><a href="' . $helper->getLogoutUrl($access_token, 'http://fbappapp.herokuapp.com/logout.php') . '">Logout of Facebook</a></p>';
} else {
    // show login link
    echo '<a href="' . $helper->getLoginUrl('http://fbappapp.herokuapp.com/', ['email']) . '">Login using Facebook</a>';
}