Использование объекта Facebook в нескольких файлах PHP - PullRequest
0 голосов
/ 12 февраля 2012

Я создаю приложение Facebook, содержащее несколько страниц PHP.Если я заново создаю объекты Facebook во всех файлах, я получаю подпись токена доступа OAuth с ошибкой.

Я испробовал несколько альтернатив, также функция $ facebook-> getSession () не работает в новой среде и устарела.

Поэтому я попытался сохранить маркер доступав сеансе и используйте тот же токен доступа в своем следующем объекте Facebook в моем PHP-файле.

На моей первой странице я создал экземпляр моего приложения, используя:

$app_id = "107684706025330";
$app_secret = "__SECRET__";
$my_url = "http://www.sentimentalcalligraphy.in/wp-content/then_n_now/";
$config = array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true,
);
session_start();
$facebook = new Facebook($config);
$access_token = $facebook->getAccessToken();
echo $access_token;
$_SESSION['fob'] = $access_token;

В следующем PHP-файле янеобходимо использовать объект Facebook во второй раз:

$config = array(
'appId' => '107684706025330',
'secret' => '__SECRET__',
);
$facebook = new Facebook($config);
$access_tocken = $_SESSION['fob'];
echo $access_token;
$facebook->setAccessToken($access_token);

Я все еще получаю сообщение об ошибке, что токен доступа недействителен.Как я должен использовать это.Мне нужно использовать следующий код в моем втором файле PHP:

$friends = $facebook->api('/me/friends','GET');

Благодарю вас заранее, Nasir

1 Ответ

1 голос
/ 12 февраля 2012

У меня есть код для Facebook API. Я хочу поделиться с вами.

// App user account and password
$app_id = 'blabla';
$app_secret = 'blabla';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
    'appId'  => $app_id,
    'secret' => $app_secret,
));
// Get User ID
$user = $facebook->getUser();
// Login or logout url will be needed depending on current user state.
if ($user) {
    $logoutUrl = $facebook->getLogoutUrl();
} else {
    $loginUrl = $facebook->getLoginUrl();
}
$access_token = $facebook->getAccessToken();
if(isset($_GET["code"])){ 
    // Get our app user feed
    $user_profile_feed = $facebook->api('/me');

    // Insert user id into users table while user login our app
    // We have to control user who inserted our users table after before
    $query_is_user = mysql_query("SELECT * FROM `users` WHERE `user_id` = ".$user_profile_feed['id']) or die("hata 1");
    $count = mysql_num_rows($query_is_user);
    if($count == 0) {
        mysql_query("INSERT INTO `users`(`user_id`) VALUES (".$user_profile_feed['id'].")") or die("hata 2");
        echo '<script language=Javascript>alert("Uygulamamiza Basariyla Giris Yaptiniz...");</script>';
    }

    $token_url = "https://graph.facebook.com/oauth/access_token?"
                         . "client_id=" . $app_id . "&redirect_uri=" . "http://apps.facebook.com/machine_learning/"
                         . "&client_secret=" . $app_secret . "&code=" . $_GET["code"];
    $response = @file_get_contents($token_url);
    $params = null;
    parse_str($response, $params);
    mysql_query("UPDATE users SET access_token='$params[access_token]' WHERE user_id='$user_profile_feed[id]'") or die("hata 4");
}

$url = "https://graph.facebook.com/oauth/authorize?"
        ."client_id=262609310449368&"
        ."redirect_uri=http://apps.facebook.com/machine_learning/&scope=read_stream";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...