本文整理汇总了PHP中Facebook::setExtendedAccessToken方法的典型用法代码示例。如果您正苦于以下问题:PHP Facebook::setExtendedAccessToken方法的具体用法?PHP Facebook::setExtendedAccessToken怎么用?PHP Facebook::setExtendedAccessToken使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Facebook
的用法示例。
在下文中一共展示了Facebook::setExtendedAccessToken方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: FacebookAccess
public function FacebookAccess()
{
require_once ROOTPATH . "data/third_party/facebook/facebook.php";
$facebook = new Facebook($this->facebook_v1_config);
if ($this->input->get('error_message')) {
$this->result = $this->type . $this->input->get('error_message');
return false;
}
if ($this->input->get('code')) {
$code = $this->input->get('code');
$access_token = $facebook->getAccessTokenFromCode($code);
$facebook->setExtendedAccessToken();
$this->session->set_userdata('facebook_access_token', $access_token);
$this->FacebookData($access_token);
return;
}
$url = $facebook->getLoginUrl(array('scope' => 'publish_actions'));
redirect($url);
}
示例2: callback
public function callback()
{
$facebook = new Facebook(array('appId' => FACEBOOK_APPID, 'secret' => FACEBOOK_SECRET, 'cookie' => true));
#Recebo o token inicial, short-lived, de 2hrs
$facebook = new Facebook(array('appId' => FACEBOOK_APPID, 'secret' => FACEBOOK_SECRET, 'cookie' => true));
$facebook->setAccessToken($facebook->getAccessToken());
#Trocamos o token short-lived por uma long lived
$facebook->setExtendedAccessToken();
$extendedAccessToken = $_SESSION["fb_" . FACEBOOK_APPID . "_access_token"];
$facebook->setAccessToken($extendedAccessToken);
$accessToken = $facebook->getAccessToken();
# agora eu pego uns dados do cara
$me = $facebook->api('/me');
# e guardo o token c/ mais uns dados dele
$o = new stdClass();
$o->accessToken = $accessToken;
$o->userID = $me['id'];
$o->userName = $me['username'];
SocialNetwork::link_account($this->session->user->id, SocialNetwork::FACEBOOK, $o);
Request::redirect(HOST . 'perfil/configuracoes');
}
示例3: nextend_api_auth_flow
function nextend_api_auth_flow()
{
$api_key = NextendRequest::getVar('api_key');
$api_secret = NextendRequest::getVar('api_secret');
$redirect_uri = NextendRequest::getVar('redirect_uri');
if (session_id() == "") {
@session_start();
}
if (!$api_key || !$api_secret || !$redirect_uri) {
$api_key = isset($_SESSION['api_key']) ? $_SESSION['api_key'] : null;
$api_secret = isset($_SESSION['api_secret']) ? $_SESSION['api_secret'] : null;
$redirect_uri = isset($_SESSION['redirect_uri']) ? $_SESSION['redirect_uri'] : null;
} else {
$_SESSION['api_key'] = $api_key;
$_SESSION['api_secret'] = $api_secret;
$_SESSION['redirect_uri'] = $redirect_uri;
}
if ($api_key && $api_secret) {
require_once dirname(__FILE__) . "/api/facebook.php";
$facebook = new Facebook(array('appId' => $api_key, 'secret' => $api_secret));
$user = $facebook->getUser();
if (!$user) {
header('Location: ' . $facebook->getLoginUrl(array('redirect_uri' => $redirect_uri, 'scope' => 'user_photos')));
exit;
} else {
$facebook->setExtendedAccessToken();
$accessToken = $facebook->getAccessToken();
$facebook->destroySession();
unset($_SESSION['api_key']);
unset($_SESSION['api_secret']);
unset($_SESSION['redirect_uri']);
echo '<script type="text/javascript">';
echo 'window.opener.setToken("' . $accessToken . '");';
echo '</script>';
}
}
}
示例4: facebookMessages
$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');
$me = $facebook->api('/me', 'GET');
$_SESSION['user_token'] = $access_token;
facebookMessages($inbox, $me);
//sleep(5);
//facebookMessages($inbox,$me);
} catch (FacebookApiException $e) {
$params = array('scope' => 'read_mailbox, offline_access', 'redirect_uri' => 'http://localhost/facebook/callback.php');
$login_url = $facebook->getLoginUrl($params);
echo 'No Token </br>';
echo '<a href="' . $login_url . '">Authorize on Facebook</a>';
error_log($e->getType());
error_log($e->getMessage());
}
示例5: addUser
public function addUser()
{
include 'facebook/facebook.php';
$uid = Input::get('uid');
$email = Input::get('email');
$fname = Input::get('fname');
$lname = Input::get('lname');
$link = Input::get('link');
$fb_gender = Input::get('gender');
$token = Input::get('token');
$username = Input::get('username');
$pass = Hash::make(Input::get('pass'));
$check = User::where('oauth_id', $uid)->first();
if ($check) {
// user exit login return false
$user = User::find($check->id);
Auth::login($user);
return 'false';
}
if ($fb_gender == 'male') {
$gender = 'm';
} else {
if ($fb_gender == 'female') {
$gender = 'f';
}
}
$config = array('appId' => Config::get('url.fb_id'), 'secret' => Config::get('url.fb_secret'));
$facebook = new Facebook($config);
$facebook->setExtendedAccessToken();
$fb_token = $facebook->getAccessToken();
$user = new User();
$user->usr_fname = $fname;
$user->usr_lname = $lname;
$user->username = $username;
$user->usr_email = $email;
$user->password = $this->generateRandomString();
$user->usr_gender = $gender;
$user->usr_fb_link = $link;
$user->berdict_key = $this->generateRandomString();
$user->fb_access_token = $fb_token;
$user->oauth_provider = 'facebook';
$user->oauth_id = $uid;
$user->fb_uid = $uid;
$user->usr_image = '';
$user->usr_status = '1';
$user->usr_updated_date = \time();
$user->save();
$insertedId = $user->id;
// user exit login
$user = User::find($insertedId);
Auth::login($user);
//creating a directory for the user with blank index.php
$id = $insertedId;
//$invite = New InviteController;
//$invite->createCodes($insertedId);
$index = 'user_uploads/1000/' . $id . '/index.php';
//Makes the directories if the index file does not exist
if (!File::exists($index)) {
File::makeDirectory('user_uploads/1000/' . $id . '', 0777, true);
$handle = fopen($index, 'x+');
fclose($handle);
}
// image file
$time = \time();
$file = 'http://graph.facebook.com/' . $uid . '/picture?width=200&height=200';
// Getting the image from fb
$data = file_get_contents($file);
$image_name = md5($time) . ".jpg";
// the final new image file with the name
$new = "user_uploads/1000/" . $id . "/" . $image_name;
// Write the contents back to a new file
file::put($new, $data);
if (!$image_name == "") {
$user = User::find($insertedId);
$user->usr_image = $image_name;
$user->save();
}
//Adding facebook friends into database
$friends = $facebook->api('' . $uid . '/friends', 'GET', array('access_token' => $user->fb_access_token));
try {
foreach ($friends["data"] as $value) {
DB::table('user_facebook')->insert(array('ufb_usr_id' => $insertedId, 'ufb_fb_id' => $uid, 'ufb_friend_id' => $value["id"], 'ufb_friend_name' => $value["name"], 'ufb_status' => '0'));
}
} catch (Exception $error) {
DB::table('errors')->insert(array('er_controller' => 'FaceboookController', 'er_usr_id' => Auth::user()->id, 'er_error' => $error, 'er_date' => date('d M Y H:i:s', time())));
}
$this->followAll();
}
示例6: displayEditFacebookSubmit
/**
* displayEditFacebookSubmit
*
* @return void
*/
function displayEditFacebookSubmit()
{
$data = getFacebookConfigData();
if (!empty($data['fb_app_id']) && !empty($data['fb_secret'])) {
$facebook = new Facebook(array('appId' => $data['fb_app_id'], 'secret' => $data['fb_secret']));
$fbUserId = $facebook->getUser();
if ($fbUserId) {
try {
$fbProfile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$fbUserId = null;
}
}
$facebook->setExtendedAccessToken();
$accessToken = $facebook->getAccessToken();
$sql = "UPDATE `fcms_user_settings`\n SET `fb_access_token` = ?,\n `fb_user_id` = ?\n WHERE `user` = ?";
$params = array($accessToken, $fbUserId, $this->fcmsUser->id);
if (!$this->fcmsDatabase->update($sql, $params)) {
$this->displayHeader();
$this->fcmsError->displayError();
$this->displayFooter();
return;
}
} else {
$this->displayHeader();
echo '
<div class="info-alert">
<h2>' . T_('Facebook isn\'t Configured Yet.') . '</h2>
<p>' . T_('Unfortunately, your website administrator has not set up Facebook yet.') . '</p>
</div>';
$this->displayFooter();
return;
}
header("Location: settings.php?view=facebook");
}
示例7: loginFinish
/**
* {@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());
}