Buduję aplikację internetową (PHP), która korzysta z połączenia FB. Pomyślnie zarejestrować/zalogować użytkownika przy pomocy biblioteki PHP dostarczonej przez Facebook. Również mogę pisać do ściany, przy użyciu tego koduCzy mogę przechowywać token dostępu Facebook i używać go później?
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;
$facebook = new Facebook(array(
'appId' => $fb_key,
'secret' => $fb_secret,
'cookie' => true, // enable optional cookie support
));
$session = $facebook->getSession();
if ($session)
{
$facebook->api('/me/feed', 'POST', array('message'=>$message, 'link'=>$link['href'], 'name'=>$link['text']));
}
Jednak gdybym ręcznie przejść do menadżera ciasteczek przeglądarce i usunąć plik cookie, który przechowuje sesję FB, kod nie działa. Jedyne, co mam, to identyfikator FB użytkownika, który przechowuję w DB. Czy istnieje sposób na opublikowanie wiadomości na ścianie użytkownika, nawet jeśli sesje FB zostaną utracone? Czy ma sens przechowywanie tokenu dostępu użytkownika FB w bazie danych DB, aby opublikować go później lub czy token dostępu jest stosunkowo krótkotrwały?
Oto przykładowa sytuacja, która może się zdarzyć w mojej aplikacji: użytkownik klika przycisk FB, autoryzuje moją aplikację, zostaje przekierowany z powrotem do mojej witryny, gdzie automatycznie utworzę konto na podstawie danych dostarczonych przez FB, również przechowuję FB ID użytkownika aby móc później zalogować się do tego użytkownika. Teraz przegląda witrynę, wprowadza pewne informacje i ta informacja zostaje wysłana do jego ściany. Na razie wszystko jest w porządku, ponieważ przeglądarka użytkownika przechowuje plik cookie utworzony przez FB. Teraz użytkownik opuszcza administratora witryny i kontaktów. Administrator otwiera własną przeglądarkę, przechodzi do interfejsu administratora i publikuje coś w imieniu tego użytkownika. Teraz, mając identyfikator FB tego użytkownika i zakładając, że użytkownik nie odwołał uprawnień, czy mogę nadal umieszczać go na ścianie?
Dzięki, działa świetnie! – Eugene
To będzie przestarzałe. Spróbuj użyć 60-dniowego klucza dostępu. – funerr