Masalah:
Dengan penamatan kebenaran akses_luar talian dalam aliran Pengesahan Facebook , mendapatkan semula token akses jangka panjang tanpa kebenaran itu telah menjadi satu cabaran. Walaupun dokumentasi Facebook menyatakan bahawa token OAuth sebelah pelayan akan bertahan lama, mereka tidak.
Penyelesaian:
Facebook telah mengemas kini PHP SDK untuk memasukkan kaedah untuk melanjutkan kesahan token akses.
SDK yang dikemas kini Kaedah:
Fungsi awam bernama setExtendedAccessToken telah ditambahkan pada base_facebook.php. Fungsi ini mengembalikan token akses baharu dengan tamat tempoh 60 hari.
Penggunaan:
Panggil fungsi ini selepas menerima token akses biasa. Anda boleh mengakses token baharu menggunakan fungsi awam getAccessToken.
Fungsi Token Akses Lanjutan:
public function getExtendedAccessToken(){ try { $access_token_response = $this->_oauthRequest( $this->getUrl('graph', '/oauth/access_token'), array( 'client_id' => $this->getAppId(), 'client_secret' => $this->getAppSecret(), 'grant_type' => 'fb_exchange_token', 'fb_exchange_token' => $this->getAccessToken() ) ); } catch (FacebookApiException $e) { return false; } if (empty($access_token_response)) { return false; } $response_params = array(); parse_str($access_token_response, $response_params); if (!isset($response_params['access_token'])) { return false; } return $response_params['access_token']; }
Nota:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanjangkan Kesahan Token Akses Facebook Selepas Penamatan Akses Luar Talian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!