Mengapa Facebook PHP SDK getUser() Sentiasa Mengembalikan 0?
Dalam proses mengesahkan pengguna untuk tapak web bersepadu Facebook, ia adalah penting untuk fungsi getUser() PHP SDK untuk mengembalikan ID pengguna yang betul. Walau bagaimanapun, sesetengah pembangun menghadapi masalah apabila fungsi ini secara konsisten mengembalikan 0, walaupun selepas pengguna membenarkan apl.
Memahami Masalah
Fungsi menyemak superglobal $_REQUEST untuk parameter kod, yang ditetapkan oleh Facebook selepas kebenaran. Walau bagaimanapun, dalam persekitaran tertentu, $_REQUEST superglobal mungkin tidak digabungkan dengan betul dengan $_GET, $_POST dan $_COOKIE.
Penyelesaian
Satu penyelesaian adalah dengan secara manual gabungkan superglobal ini menjadi pembolehubah baharu, seperti yang ditunjukkan dalam fungsi getCode() yang diubah suai di bawah:
protected function getCode() { $server_info = array_merge($_GET, $_POST, $_COOKIE); if (isset($server_info['code'])) { // Rest of the function logic... } }
Pertimbangan Tambahan
Selain pembetulan getCode(), adalah penting untuk memastikan tetapan berikut dikonfigurasikan dengan betul dalam Portal Pembangun Facebook :
Tetapan ini membantu Facebook mengenal pasti apl yang dibenarkan dan mengubah hala pengguna ke lokasi yang betul selepas kebenaran.
Kesimpulan
Dengan menggabungkan $_REQUEST superglobal dengan betul dan memastikan tetapan yang tepat dalam Portal Pembangun Facebook, pembangun boleh menyelesaikan isu di mana Facebook PHP SDK getUser() mengembalikan 0. Ini membolehkan tapak web menyepadukan dengan lancar dengan Facebook dan mendapatkan maklumat pengguna untuk pengalaman yang disesuaikan.
Atas ialah kandungan terperinci Mengapakah `getUser()` Facebook PHP SDK Sentiasa Mengembalikan 0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!