Menentukan Perkaitan Halaman Facebook dengan API JavaScript
Dalam konteks aplikasi iFrame, tugas untuk mengesahkan sama ada pengguna telah "menyukai" a halaman Facebook tertentu boleh ditemui. Walau bagaimanapun, menghadapi ketidakkonsistenan semasa cuba melaksanakan fungsi ini adalah perkara biasa.
Pertimbangkan coretan kod berikut:
FB.api({ method: "pages.isFan", page_id: my_page_id, }, function(response) { console.log(response); if(response){ alert('You Likey'); } else { alert('You not Likey :('); } } );
Setelah melaksanakan kod ini, ia menghasilkan hasil yang membingungkan "Salah" walaupun walaupun pengguna yang berkenaan memang "menyukai" halaman yang berkaitan. Punca di sebalik percanggahan ini terletak pada keperluan untuk kebenaran lanjutan yang belum ditangani.
Pendekatan Alternatif Menggunakan Permintaan Bertandatangan
Untuk memintas isu ini dan memastikan dengan pasti status "suka" pengguna, pendekatan alternatif menggunakan mekanisme permintaan yang ditandatangani boleh digunakan. Dengan mendayakan pilihan lanjutan "OAuth 2.0 for Canvas" dalam Facebook, anda boleh mendapatkan semula permintaan yang ditandatangani dengan setiap permintaan apl tab yang mengandungi maklumat penting tentang pengguna, termasuk status "suka" mereka:
function parsePageSignedRequest() { if (isset($_REQUEST['signed_request'])) { $encoded_sig = null; $payload = null; list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2); $sig = base64_decode(strtr($encoded_sig, '-_', '+/')); $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true)); return $data; } return false; } if($signed_request = parsePageSignedRequest()) { if($signed_request->page->liked) { echo "This content is for Fans only!"; } else { echo "Please click on the Like button to view this tab!"; } }
Ini penyelesaian mengekstrak permintaan yang ditandatangani, menyahkodnya dan memeriksa sifat "suka" objek JSON yang dihuraikan untuk menentukan dengan tepat status "suka" pengguna untuk Facebook anda halaman.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan dengan Boleh Dipercayai jika Pengguna Facebook Menyukai Halaman Saya Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!