function resourcePost($api, $tools, $param) { global $FBArr; $param["fbId"] = $tools->sql_injection_anti($_POST["data"]["id"]); $_SESSION["fb_{$FBArr['appId']}_access_token"] = $_POST['token']; $param["requestIds"] = $tools->sql_injection_anti($_POST["requestIds"]); include_once "../../library/Table/Request.class.php"; $request = new Request(); include_once LIB_PATH . 'facebook/facebook.php'; $facebook = new Facebook($FBArr); $facebook->setAccessToken($_SESSION["fb_{$FBArr['appId']}_access_token"]); $requestData = $facebook->api(array('method' => 'fql.query', 'query' => "SELECT sender_uid FROM apprequest WHERE request_id = '{$param["requestIds"]}'")); $param["senderId"] = $requestData[0]["sender_uid"]; $url = "http://me.molome.tw/game/get_fb_gameacc"; $key = "WVdFMVpqQTBaVGtPQzAwTkRjMUxUazNN"; $time = time(); $sign = md5($param["fbId"] . $time . $key); $url = sprintf($url . "?fbid=%s&time=%s&sign=%s", $param["fbId"], $time, $sign); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 30); $result = curl_exec($curl); $json = json_decode($result); curl_close($curl); if ($json->info[0]->name != '' and $json->info[0]->sid != '') { $param['join'] = -1; } else { $param['join'] = 0; } $url = "http://graph.facebook.com/" . $param['senderId']; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 30); $result = curl_exec($curl); $userData = json_decode($result); $api->setOutput('新增資料成功', array("sender" => $userData)); return; }
/** * @param string $logoutUrl */ public function logout($logoutUrl = '') { if (empty($logoutUrl)) { $logoutUrl = self::$object->getLogoutUrl(array('next' => self::getRedirectUrl() . '#postJobs')); } self::$object->setAccessToken(''); self::$object->destroySession(); SJB_HelperFunctions::redirect($logoutUrl); }
/** * @todo fix this BIG mess. */ public static function postFacebook($message, $link = null, $impression = null) { $member = Member::currentUser(); $postresult = false; $SiteConfig = SiteConfig::current_site_config(); if ($member && $SiteConfig->FBAppID && $SiteConfig->FBSecret) { if ($link == null) { $link = Director::absoluteBaseURL(); } $page = '/' . $SiteConfig->FBPageID . '/feed'; $facebook = new Facebook(array('appId' => $SiteConfig->FBAppID, 'secret' => $SiteConfig->FBSecret)); $token = $facebook->api('/me/accounts'); foreach ($token['data'] as $pages) { if ($pages['id'] == $SiteConfig->FBPageID) { $facebook->setAccessToken($pages['access_token']); $verified = true; break; } } if ($verified) { $data = array('message' => $message, 'link' => $link, 'picture' => $impression); $postresult = $facebook->api($page, 'post', $data); } } return $postresult; }
/** * * @param array $data * @param array $services */ public function sendToSocialMedia(array $data, array $services = array('facebook', 'twitter')) { // init output $ids = array('facebook' => null, 'twitter' => null); // Facebook if (in_array('facebook', $services) && $this->confirmFacebookAccess()) { $facebook = new Facebook(array('appId' => static::$conf->FacebookAppId, 'secret' => static::$conf->FacebookAppSecret)); $facebook->setAccessToken(static::$conf->FacebookPageAccessToken); try { $post_id = $facebook->api("/" . static::$conf->FacebookPageId . "/feed", "post", $data); $ids['facebook'] = $post_id['id']; } catch (FacebookApiException $e) { SS_Log::log('Error ' . $e->getCode() . ' : ' . $e->getFile() . ' Line ' . $e->getLine() . ' : ' . $e->getMessage() . "\n" . 'BackTrace: ' . "\n" . $e->getTraceAsString(), SS_Log::ERR); } } // Twitter if (in_array('twitter', $services) && $this->confirmTwitterAccess()) { $connection = new tmhOAuth(array('consumer_key' => static::$conf->TwitterConsumerKey, 'consumer_secret' => static::$conf->TwitterConsumerSecret, 'user_token' => static::$conf->TwitterOAuthToken, 'user_secret' => static::$conf->TwitterOAuthSecret)); $tweet = $data['name'] . ": " . $data['link']; $code = $connection->request('POST', $connection->url('1.1/statuses/update'), array('status' => $tweet)); if ($code == 200) { $data = json_decode($connection->response['response']); $ids['twitter'] = $data->id_str; } } return $ids; }
private function face($access_token, $dataConfig) { require_once 'php-sdk/src/facebook.php'; $facebook = new Facebook($dataConfig); $facebook->setAccessToken($access_token); Zend_Debug::dump($user = $facebook->getUser()); if ($user) { $this->view->faceUrl = $facebook->getLogoutUrl(); } else { $this->view->faceUrl = $facebook->getLoginUrl(); } Zend_Debug::dump($_REQUEST); Zend_Debug::dump($naitik = $facebook->api('/100000874886897')); if ($user) { try { // Proceed knowing you have a logged in user who's authenticated. $user_profile = $facebook->api('/me'); print_r($user_profile); } catch (FacebookApiException $e) { error_log($e); $user = null; } } $this->view->user = $naitik; }
function facebook_init() { require 'src/facebook.php'; global $facebook; $facebook = new Facebook(array('appId' => FB_KEY, 'secret' => FB_SECRET)); if (!empty($_SESSION) && !empty($_SESSION['fb_code'])) { $url = "https://graph.facebook.com/oauth/access_token?"; $params = array(); $params[] = 'client_id=' . $facebook->getAppId(); $params[] = 'redirect_uri=' . 'http://' . HOST . get_url('/facebook/auth/'); $params[] = 'client_secret=' . $facebook->getApiSecret(); $params[] = 'code=' . $_SESSION['fb_code']; $url .= implode('&', $params); $data = explode('&', get_data($url)); foreach ($data as &$d) { $d = explode('=', $d); if ($d[0] == 'access_token') { $_SESSION['fb_access_token'] = $d[1]; } elseif ($d[0] == 'expires') { $_SESSION['fb_at_expires'] = time() + $d[1]; } } } if (array_key_exists('fb_access_token', $_SESSION)) { if ($_SESSION['fb_at_expires'] > time()) { $facebook->setAccessToken($_SESSION['fb_access_token']); unset($_SESSION['fb_code']); } } }
function onNextendFacebook(&$facebook) { $config = new NextendData(); $config->loadJson(NextendSmartSliderStorage::get(self::$_group)); require_once dirname(__FILE__) . "/api/facebook.php"; $facebook = new Facebook(array('appId' => $config->get('apikey', ''), 'secret' => $config->get('apisecret', ''))); $facebook->setAccessToken($config->get('token', '')); }
public function sendToFacebook($params) { // create instance $facebook = new Facebook(array('appId' => self::get_facebook_app_id(), 'secret' => self::get_facebook_secret())); $facebook->setAccessToken(self::get_facebook_access_token()); $result = $facebook->api('/' . self::get_facebook_user_id() . '/feed/', 'post', $params); return $result; }
/** * Render fieldset html * * @param Varien_Data_Form_Element_Abstract $element * @return string */ public function render(Varien_Data_Form_Element_Abstract $element) { $msg = '<div style="padding-bottom: 1em;max-width: 800px;">'; $appId = Mage::getStoreConfig('besociable/facebook/appid'); $appSecret = Mage::getStoreConfig('besociable/facebook/appsecret'); $currentAccessToken = Mage::getStoreConfig('besociable/facebook/access_token'); if ($appId != '' && $appSecret != '') { $facebook = new Facebook(array('appId' => $appId, 'secret' => $appSecret)); $merge = $appId . '|' . $appSecret; $accessToken = $facebook->getAccessToken(); if ($accessToken != $merge && $accessToken != $currentAccessToken) { Mage::getConfig()->saveConfig('besociable/facebook/access_token', $accessToken); $facebook->setAccessToken($accessToken); } else { $facebook->setAccessToken($currentAccessToken); } $user = $facebook->getUser(); if ($user) { $loginUrl = $facebook->getLoginUrl(array('scope' => array('manage_pages', 'publish_stream'))); $msg .= Mage::helper('sociable')->__('<span style="color: green;">You have successfully authorized with facebook.</span>'); $msg .= Mage::helper('sociable')->__('<br>You can always <a href="%s">click here</a> to re-authorize your access to facebook again.', $loginUrl); $msg .= Mage::helper('sociable')->__('<br>If you want to get a list of your pages, you can simply <a href="%s">click here</a>', $this->getUrl('adminhtml/sociable/getPages')); $msg .= Mage::helper('sociable')->__('<br>Please <a href="%s">click here</a> to make a test post.', $this->getUrl('adminhtml/sociable/testfacebook')); /* if(!$user){ $loginUrl = $facebook->getLoginUrl(array('scope'=>array('manage_pages','publish_stream')));//, 'publish_actions', 'publish_stream' $msg .= Mage::helper('sociable')->__('<strong style="color:red">Important: </strong>'); $msg .= Mage::helper('sociable')->__('You will need to <a href="%s">click here</a> to authorize your access to facebook for the first time.',$loginUrl); }else { } */ } else { $loginUrl = $facebook->getLoginUrl(array('scope' => array('manage_pages', 'publish_stream'))); //, 'publish_actions', 'publish_stream' $msg .= Mage::helper('sociable')->__('<strong style="color:red">Important: </strong>'); $msg .= Mage::helper('sociable')->__('You will need to <a href="%s">click here</a> to authorize your access to facebook for the first time.', $loginUrl); } } $msg .= '</div>'; return $msg; }
/** */ public static function fql($fql) { $fb = new Facebook(array('appId' => self::$_app_id, 'secret' => self::$_secret, 'cookie' => true)); // Radix::dump($fb); $uri = sprintf('https://graph.facebook.com/oauth/access_token?client_id=%s&client_secret=%s&grant_type=client_credentials', rawurlencode(self::$_app_id), rawurlencode(self::$_secret)); $ret = self::_curl($uri); if (preg_match('/access_token=(.+)/', $ret['body'], $m)) { $fb->setAccessToken($m[1]); } $ret = $fb->api(array('method' => 'fql.query', 'query' => $fql)); return $ret; }
public function sharePost($data = false) { if (!$data) { $data = $this->post; } $facebook_token = SocialNetwork::get_access_token($data->uid, SocialNetwork::FACEBOOK); if ($facebook_token) { $facebook = new Facebook(array('appId' => FACEBOOK_APPID, 'secret' => FACEBOOK_SECRET, 'cookie' => true)); $facebook->setAccessToken($facebook_token->accessToken); $facebook->api('/me/feed', 'post', array('message' => $data->title, 'link' => $data->url, 'caption' => $data->content, 'type' => 'link', 'picture' => $data->avatar)); } }
/** * Find friends of logged in user and map to local friends table. * @param Array $config * @return Bool Success */ public function mapFriends(array $config) { $config = $config instanceof Garp_Util_Configuration ? $config : new Garp_Util_Configuration($config); $config->obligate('bindingModel')->obligate('user_id')->setDefault('accessToken', $this->getAccessToken()); if (!$config['accessToken']) { // Find the auth record $authModel = new Model_AuthFacebook(); $authRow = $authModel->fetchRow($authModel->select()->where('user_id = ?', $config['user_id'])); if (!$authRow || !$authRow->access_token) { return false; } // Use the stored access token to create a user session. Me() in the FQL ahead will contain the user's Facebook ID. // Note that the access token is available for a very limited time. Chances are it's not valid anymore. $accessToken = $authRow->access_token; } try { $this->_client->setAccessToken($config['accessToken']); // Find the friends' Facebook UIDs $friends = $this->_client->api(array('method' => 'fql.query', 'query' => 'SELECT uid2 FROM friend WHERE uid1 = me()')); // Find local user records $userModel = new Model_User(); $userTable = $userModel->getName(); $authFbModel = new Model_AuthFacebook(); $authFbTable = $authFbModel->getName(); $fbIds = ''; $friendCount = count($friends); foreach ($friends as $i => $friend) { $fbIds .= $userModel->getAdapter()->quote($friend['uid2']); if ($i < $friendCount - 1) { $fbIds .= ','; } } $friendQuery = $userModel->select()->setIntegrityCheck(false)->from($userTable, array('id'))->join($authFbTable, $authFbTable . '.user_id = ' . $userTable . '.id', array())->where('facebook_uid IN (' . $fbIds . ')')->order($userTable . '.id'); $localUsers = $userModel->fetchAll($friendQuery); $localUserCount = count($localUsers); // Insert new friendships into binding model $bindingModel = new $config['bindingModel'](); $insertSql = 'INSERT IGNORE INTO ' . $bindingModel->getName() . ' (user1_id, user2_id) VALUES '; foreach ($localUsers as $i => $localUser) { $insertSql .= '(' . $localUser->id . ',' . $config['user_id'] . '),'; $insertSql .= '(' . $config['user_id'] . ',' . $localUser->id . ')'; if ($i < $localUserCount - 1) { $insertSql .= ','; } } $result = $bindingModel->getAdapter()->query($insertSql); // Clear cache manually, since the table isn't updated thru conventional paths. Garp_Cache_Manager::purge($bindingModel); return !!$result; } catch (Exception $e) { return false; } }
public static function getUserFacebookFriends(GameUsers $user) { if (!empty($user)) { $userId = $user->getUserId(); $fbId = $user->getFacebookId(); $oauthTOken = $user->getOauthToken(); if (!empty($userId) && !empty($fbId) && !empty($oauthTOken)) { $facebook = new Facebook(array('appId' => FB_APP_ID, 'secret' => FB_APP_SECRET, 'cookie' => true)); $facebook->setAccessToken($oauthTOken); try { $fbFriends = array(); $apiUrl = "/me/friends"; while (!empty($apiUrl)) { $result = $facebook->api($apiUrl); $apiUrl = null; if (!empty($result)) { $data = null; if (isset($result["data"])) { $data = $result["data"]; } if (!empty($data) && sizeof($data)) { foreach ($data as $fbFriend) { if (!empty($fbFriend)) { array_push($fbFriends, $fbFriend); } } } unset($data); if (isset($result["paging"])) { $paging = $result["paging"]; if (!empty($paging) && isset($paging["next"]) && !empty($paging["next"])) { $next = $paging["next"]; if (strpos($next, "/friends")) { $apiUrl = "/me" . substr($next, strpos($next, "/friends")); } unset($next); } unset($paging); } } unset($result); unset($apiUrl); } return $fbFriends; } catch (Exception $exc) { error_log("FriendUtils>getUserFacebookFriends> Error : " . $exc->getMessage() . " Trace : " . $exc->getTraceAsString()); } } } return null; }
/** * get SocialNetwork Profile info from facebook server * @param string $accessToken */ public function _getProfileInfoByAccessToken($accessToken = null) { if ($accessToken) { self::$object->setAccessToken($accessToken); } try { self::$oProfile = self::$object->api('/me'); self::$oProfile = new ArrayObject(self::$oProfile); self::$oProfile->setFlags(ArrayObject::ARRAY_AS_PROPS); self::$oSocialPlugin = $this; return true; } catch (Exception $e) { SJB_Error::writeToLog($e->getMessage()); } return false; }
/** * Exchanges the code for a valid access token * * @link https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/#confirm * * @param \Facebook $facebook * @param string $code * @param string $redirectUri the redirect uri with which the login url was generated * * @return bool */ public function confirmIdentityWithCode(\Facebook $facebook, $code, $redirectUri) { $request = $this->client->get("/oauth/access_token"); $request->getQuery()->set("client_id", $facebook->getAppId())->set("redirect_uri", $redirectUri)->set("client_secret", $facebook->getAppSecret())->set("code", $code); try { $response = $request->send(); parse_str($response->getBody(true), $data); if (isset($data["access_token"])) { $facebook->setAccessToken($data["access_token"]); return true; } return false; } catch (ClientErrorResponseException $e) { return false; } }
public function api($name) { $config = Configure::read('Opauth.Strategy.Facebook'); $facebook = new Facebook(array('appId' => $config['app_id'], 'secret' => $config['app_secret'])); $facebook->setAccessToken($this->Session->read('Auth.Facebook.access_token')); // Get User ID $user = $facebook->getUser(); if ($user) { try { // Proceed knowing you have a logged in user who's authenticated. return $facebook->api($name); } catch (FacebookApiException $e) { error_log($e); } } return null; }
public function connect($accessToken = null) { if (!$this->token) { $accessToken = (string) $accessToken; } else { $accessToken = $this->token->getAccessToken(); } if (!$accessToken) { throw new \Exception('You must provide an access token.'); } $this->app = $this->appService->getApplication(self::RESOURCE_OWNER); $config = ['appId' => $this->app->getKey(), 'secret' => $this->app->getSecret(), 'fileUpload' => false, 'allowSignedRequest' => false]; $facebook = new \Facebook($config); $facebook->setAccessToken($accessToken); $user = $facebook->getUser(); try { if ($user) { return $facebook; } elseif ($this->token) { // Renew access token. FacebookSession::setDefaultApplication($this->app->getKey(), $this->app->getSecret()); $longLivedAccessToken = new AccessToken($this->token->getAccessToken()); try { // Get a code from a long-lived access token $code = AccessToken::getCodeFromAccessToken($longLivedAccessToken); } catch (FacebookSDKException $e) { throw new ExternalApiException($e->getMessage(), $e->getCode(), $e); } try { // Get a new long-lived access token from the code $newLongLivedAccessToken = AccessToken::getAccessTokenFromCode($code); } catch (FacebookSDKException $e) { throw new ExternalApiException($e->getMessage(), $e->getCode(), $e); } $accessToken = new AccessToken($newLongLivedAccessToken); // dump($accessToken->getInfo());exit; $this->token->setAccessToken($newLongLivedAccessToken); $this->tokenService->setToken($this->token); // Connect to Facebook REST API again. $this->connect(); } } catch (\FacebookApiException $e) { $user = null; } }
function resourceGet($api, $tools, $param) { include_once LIB_PATH . 'facebook/facebook.php'; global $FBArr, $fansId; $param['fbId'] = $tools->sql_injection_anti($_SESSION["fbId"]); if ($param['fbId'] == '') { header("Location: index.php?page=chkfans"); } $facebook = new Facebook($FBArr); $facebook->setAccessToken($_SESSION["fb_{$FBArr['appId']}_access_token"]); //無菸生活 $isFans = $facebook->api(array('method' => 'fql.query', 'query' => "SELECT target_id FROM connection WHERE source_id = '{$param['fbId']}' AND target_id = '{$fansId}'")); if (empty($isFans)) { $api->setOutput("確認是否加入粉綜", array("isFans" => false)); } else { $api->setOutput("確認是否加入粉綜", array("isFans" => true)); } return; }
function postCheckinToFacebook($appSecret, $userID, $token, $message, $firstAttempt) { // Setup facebook $facebook = new Facebook(array('appId' => '400073310043056', 'secret' => $appSecret)); $facebook->setAccessToken($token); // Construct and send the location based post try { $result = $facebook->api('/' . $userID . '/feed', 'POST', array('access_token' => $facebook->getAccessToken(), 'place' => '246419308104', 'message' => $message, 'coordinates' => json_encode(array('latitude' => '-27.47159234211', 'longitude' => '153.019149383', 'tags' => $userID)))); } catch (FacebookApiException $e) { echo $e->__toString(); if ($firstAttempt == true) { // Having trouble figuring out how to differentiate between the various errors that // can be caught here (they don't use unique codes for some reason!?) // But it doesn't matter, we can pretty harmlessly just retry with an extended token $token = $facebook->getExtendedAccessToken(); if (isset($token)) { postCheckinToFacebook($appSecret, $userID, $token, $message, false); } } // Ignore errors if we've already tried this again } }
* @author Timur Malgazhdarov * @copyright 2013 */ require_once "facebook.php"; require_once 'config.php'; $username = '******'; $config = array('appId' => '645818095470152', 'secret' => 'FACEBOOK_APP_SECRET'); $facebook = new Facebook($config); /*Connecting to the database*/ mysql_connect(SERVER, DB_USERNAME, DB_PASSWORD); mysql_select_db('paw'); /*Finding user's twitter oauth tokens and secrets in database if they exist*/ $query = mysql_query("SELECT * FROM facebook_users WHERE oauth_provider = 'facebook' AND username = '******'"); $result = mysql_fetch_array($query); if (!empty($result)) { $facebook->setAccessToken($result['oauth_token']); } $user_id = $facebook->getUser(); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> </head> <body> <?php if ($user_id) { try { $facebook->setExtendedAccessToken(); $access_token = $facebook->getAccessToken(); $inbox = $facebook->api('/me/inbox', 'GET');
$fb_apikey = 'mi_facebook_app_id'; $fb_secret = 'mi_facebook_app_id'; $facebook = new Facebook(array('appId' => $fb_apikey, 'secret' => ${$fb_secret})); // obtener el codigo de respuesta $code = $_REQUEST["code"]; // construir el URL de login de Facebook $fbLoginUrl = $facebook->getLoginUrl(array('scope' => 'email', 'display' => 'popup', 'redirect_uri' => $script_url)); // si no existe codigo de retorno de facebook, enviarmos al usuario al formulario // de login de Facebook if (empty($code)) { echo "<script> top.location.href='{$fbLoginUrl}'</script>"; exit; } else { // obtener el token de autenticacion a partir de Facebook Graph $token_url = "https://graph.facebook.com/oauth/access_token?" . "client_id=" . $fb_apikey . "&redirect_uri=" . urlencode($script_url) . "&client_secret=" . $fb_secret . "&code=" . $code; // obteenemos la respuesta y la interpretamos $response = @file_get_contents($token_url); $params = null; parse_str($response, $params); // asignamos al objecto Facebook el token para proceder a realizar // llamadas al API posteriormente $facebook->setAccessToken($params['access_token']); $fbme = $facebook->api('/me', 'GET'); if ($fbme) { // teniendo el objeto Facebook ME (datos del usuario) procedemos // a realizar nuestro proceso ya sea de login o registro. proceed_login_or_register($fbme); } } ?>
/** * Process actions based on $_GET parameters. Authorize FB user or add FB page. * @param arr $options Facebook plugin options * @param Facebook $facebook Facebook object */ protected function processPageActions($options, Facebook $facebook) { //authorize user if (isset($_GET["code"]) && isset($_GET["state"])) { //validate state to avoid CSRF attacks if ($_GET["state"] == SessionCache::get('facebook_auth_csrf')) { //Prepare API request //First, prep redirect URI $redirect_uri = urlencode(Utils::getApplicationURL() . 'account/?p=facebook'); //Build API request URL $api_req = 'https://graph.facebook.com/oauth/access_token?client_id=' . $options['facebook_app_id']->option_value . '&client_secret=' . $options['facebook_api_secret']->option_value . '&redirect_uri=' . $redirect_uri . '&state=' . SessionCache::get('facebook_auth_csrf') . '&code=' . $_GET["code"]; $access_token_response = FacebookGraphAPIAccessor::rawApiRequest($api_req, false); parse_str($access_token_response); if (isset($access_token)) { /** * Swap in short-term token for long-lived token as per * https://developers.facebook.com/docs/facebook-login/access-tokens/#extending */ $api_req = 'https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=' . $options['facebook_app_id']->option_value . '&client_secret=' . $options['facebook_api_secret']->option_value . '&fb_exchange_token=' . $access_token; $access_token_response = FacebookGraphAPIAccessor::rawApiRequest($api_req, false); parse_str($access_token_response); $facebook->setAccessToken($access_token); $fb_user_profile = $facebook->api('/me'); $fb_username = $fb_user_profile['name']; $fb_user_id = $fb_user_profile['id']; if (empty($fb_username)) { $error = 'Sorry, ThinkUp does not support business accounts.'; $this->addErrorMessage($error, 'authorization'); } else { $this->addSuccessMessage($this->saveAccessToken($fb_user_id, $access_token, $fb_username), 'authorization'); } } else { $error_msg = "Problem authorizing your Facebook account! Please correct your plugin settings."; $error_object = json_decode($access_token_response); if (isset($error_object) && isset($error_object->error->type) && isset($error_object->error->message)) { $error_msg = $error_msg . "<br>Facebook says: \"" . $error_object->error->type . ": " . $error_object->error->message . "\""; } else { $error_msg = $error_msg . "<br>Facebook's response: \"" . $access_token_response . "\""; } $this->addErrorMessage($error_msg, 'authorization', true); } } else { $this->addErrorMessage("Could not authenticate Facebook account due to invalid CSRF token.", 'authorization'); } } //insert pages if (isset($_GET["action"]) && $_GET["action"] == "add page" && isset($_GET["facebook_page_id"]) && isset($_GET["viewer_id"]) && isset($_GET["owner_id"]) && isset($_GET["instance_id"])) { //get access token $oid = DAOFactory::getDAO('OwnerInstanceDAO'); $tokens = $oid->getOAuthTokens($_GET["instance_id"]); $access_token = $tokens['oauth_access_token']; $page_data = FacebookGraphAPIAccessor::apiRequest('/' . $_GET["facebook_page_id"], $access_token, "id,name,picture"); self::insertPage($page_data->id, $_GET["viewer_id"], $_GET["instance_id"], $page_data->name, $page_data->picture->data->url); } }
public function CheckFBLogin($userId = '', $token = '') { $user = false; require_once ROOTPATH . "data/third_party/facebook/facebook.php"; $config = array('appId' => '1694540550761953', 'secret' => 'f7a843098dd1d43d071e25075110d4d9', 'sharedSession' => true); $facebook = new Facebook($config); $facebook->setAccessToken($token); if ($facebook->getUser()) { try { $user = $facebook->api("/{$userId}", array('fields' => 'email, picture, name, last_name, first_name')); } catch (FacebookApiException $e) { } } return $user; }
/** * Function to post Message to Facebook on various actions * @param array $userData * @param string $statusMessage * @author Rohan Julka * */ public function postToFacebook($userData, $statusMessage) { require_once ROOT . DS . APP_DIR . DS . 'Plugin/facebook/facebook.php'; $facebookData = array(); $facebookData['appId'] = Configure::read('appId'); $facebookData['secret'] = Configure::read('appSecret'); $connection = new Facebook($facebookData); $connection->setAccessToken($userData['User']['fb_access_token']); $params = array(); $params["access_token"] = $userData['User']['fb_access_token']; $params["message"] = $statusMessage; $params["name"] = $statusMessage; $params["description"] = $statusMessage; try { $connection->api('/me/feed', 'POST', $params); } catch (Exception $e) { $this->Session->setFlash('Unable to post to Facebook', 'Front/flash_bad'); } }
/** * Logs out the user from Facebook * */ private function do_facebook_logout() { $this->clear_facebook_data_from_session_and_db_and_disable_cron(); // Get an instance of the Facebook class $facebook = $this->facebook_instance_factory(); // Get the logout URL from the Facebook Class $logout = $facebook->getLogoutUrl(); $this->facebook->setAccessToken(''); // Redirect the user to the logout url, facebook will redirect him to our page wp_redirect($logout); }
//將FB的COOKIE 寫進去 Safari用 setcookie("fbs_" . $FBArr['appId'], $session_row, time() + 315360000, '/', $_SERVER['HTTP_HOST']); //Safari 判斷用戶非重複登入 setcookie("uid", $fb_sessionArr->uid, time() + 315360000, '/', $_SERVER['HTTP_HOST']); } catch (Exception $e) { //錯誤的session登入 } } /****FOR SAFARI 專用:結束****/ //判斷是否登入依據 //$FBSession = $facebook->getSession(); //$FBuid = $facebook->getUser();//抓取uid值'' //代表第一次登入,且不是同一個人 if ($_SESSION["fb_{$FBArr['appId']}_access_token"] != "") { //$_SESSION['FbUid'] = $FBuid; $facebook->setAccessToken($_SESSION["fb_{$FBArr['appId']}_access_token"]); $me = $facebook->api('/me'); //抓取用戶資訊 //print "登入後要做的事情,記錄USER_INFO"; if ($me["id"] == "" or $_SESSION["fbId"] != $me["id"]) { $_SESSION = array(); header("Location: /"); exit; } $_SESSION["fbId"] = $me["id"]; } unset($facebook); //設定需要登入 // $Login = true; // $tpl->page = $_GET['page']; // $tpl->ToUrl = $ROOTURL."index.php?page=".$_GET['page'];
/** * Sets the access token * * @param string $accessToken */ public function setAccessToken($accessToken) { $this->facebook->setAccessToken($accessToken); }
/** * {@inheritdoc} */ function loginFinish() { // in case we get error_reason=user_denied&error=access_denied if (isset($_REQUEST['error']) && $_REQUEST['error'] == "access_denied") { throw new Exception("Authentication failed! The user denied your request.", 5); } // in case we are using iOS/Facebook reverse authentication if (isset($_REQUEST['access_token'])) { $this->token("access_token", $_REQUEST['access_token']); $this->api->setAccessToken($this->token("access_token")); $this->api->setExtendedAccessToken(); $access_token = $this->api->getAccessToken(); if ($access_token) { $this->token("access_token", $access_token); $this->api->setAccessToken($access_token); } $this->api->setAccessToken($this->token("access_token")); } // if auth_type is used, then an auth_nonce is passed back, and we need to check it. if (isset($_REQUEST['auth_nonce'])) { $nonce = Hybrid_Auth::storage()->get('fb_auth_nonce'); //Delete the nonce Hybrid_Auth::storage()->delete('fb_auth_nonce'); if ($_REQUEST['auth_nonce'] != $nonce) { throw new Exception("Authentication failed! Invalid nonce used for reauthentication.", 5); } } // try to get the UID of the connected user from fb, should be > 0 if (!$this->api->getUser()) { throw new Exception("Authentication failed! {$this->providerId} returned an invalid user id.", 5); } // set user as logged in $this->setUserConnected(); // store facebook access token $this->token("access_token", $this->api->getAccessToken()); }
<?php require_once 'src/facebook.php'; session_start(); $config = array(); $APP_ID = '1615223755370942'; $APP_SECRET = '4d2bd3e5041697a6f249b0b7d7f683de'; $config = array(); $config["appId"] = $APP_ID; $config["secret"] = $APP_SECRET; $config["fileUpload"] = false; $config["cookie"] = true; $config["domain"] = 'capsicumtechnologies.co.in'; $facebook = new Facebook($config); $accessToken = $facebook->getAccessToken(); $facebook->setAccessToken($accessToken); $user_id = $facebook->getUser(); $ret_obj = $facebook->api('/me', 'GET'); $_SESSION['ret_obj'] = $ret_obj;
public function recibirInformacion() { session_start(); if (isset($_GET['code'])) { $tokenDetails = $this->getAccessTokenDetails(APPID, APPSECRET, URL_REDIRECT, $_GET['code']); $token = $tokenDetails['access_token']; $_SESSION['access_token'] = $token; $config = array(); $config['appId'] = APPID; $config['secret'] = APPSECRET; $facebook = new Facebook($config); if (isset($_SESSION['access_token'])) { // echo "entre"; $facebook->setAccessToken($_SESSION['access_token']); } // $user_id = $facebook->getUser(); $opcion = ""; $query = ""; $jsonDecodificado = ""; if (isset($_REQUEST['opcion'])) { $opcion = $_REQUEST['opcion']; } if (isset($_REQUEST['query'])) { $query = $_REQUEST['query']; } if ($opcion != "") { $jsonDecodificado = json_encode($facebook->api('/me/' . $opcion)); } else { if ($query != "") { $jsonDecodificado = json_encode($facebook->api(array('method' => 'fql.query', 'query' => $query))); } else { $jsonDecodificado = json_encode($facebook->api('/me')); } } $pathtoVista = "./modulos/{$this->nombre}/views/index.php"; parent::asignar(array('contenido' => $pathtoVista, 'json' => $jsonDecodificado)); parent::cargarVista('index', $parametros); // header('Location: ' . URL_PAGE); } }