Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menentukan dengan Boleh Dipercayai jika Pengguna Facebook Menyukai Halaman Saya Menggunakan JavaScript?

Bagaimanakah Saya Boleh Menentukan dengan Boleh Dipercayai jika Pengguna Facebook Menyukai Halaman Saya Menggunakan JavaScript?

Susan Sarandon
Lepaskan: 2024-11-25 09:47:07
asal
329 orang telah melayarinya

How Can I Reliably Determine if a Facebook User Has Liked My Page Using JavaScript?

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 :(');
        }
    }
);
Salin selepas log masuk

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!";
    }
  }
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan