Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan masalah kegagalan perkongsian akaun awam PHP WeChat

Bagaimana untuk menyelesaikan masalah kegagalan perkongsian akaun awam PHP WeChat

PHPz
PHPzasal
2023-04-12 18:54:451571semak imbas

Baru-baru ini, ramai netizen melaporkan bahawa akaun awam WeChat yang dibangunkan menggunakan PHP akan gagal dikongsi apabila berkongsi. Masalah ini sentiasa wujud, dan tiada penyelesaian yang jelas ditemui Mari kita bincangkan punca masalah ini dan cara menyelesaikannya.

1. Sebab masalah

Dalam akaun awam WeChat yang dibangunkan dengan PHP, kami biasanya menggunakan antara muka WeChat JS untuk operasi perkongsian. Apabila memanggil antara muka WeChat JS untuk perkongsian, kita perlu memenuhi dua syarat berikut:

  1. Antara muka WeChat JS mesti dipanggil di dalam klien WeChat dan tidak boleh dipanggil secara luaran
  2. WeChat Antara muka JS memerlukan protokol HTTPS untuk dipanggil.

Disebabkan situasi berikut apabila banyak pembangun sedang membangun:

  1. Protokol HTTP digunakan semasa memanggil antara muka WeChat JS
  2. Apabila memanggil Antara muka WeChat JS, ia tidak ditentukan sama ada ia dipanggil dalam klien WeChat.

Kedua-dua masalah ini akan menyebabkan perkongsian akaun rasmi WeChat gagal, kerana WeChat tidak membenarkan panggilan antara muka WeChat JS dalam HTTP atau pelanggan bukan WeChat.

2. Bagaimana untuk menyelesaikan

  1. Gunakan protokol HTTPS

Apabila memanggil antara muka WeChat JS, anda mesti menggunakan protokol HTTPS, yang ditetapkan secara rasmi oleh WeChat. Oleh itu, jika tapak web anda masih menggunakan protokol HTTP, anda perlu menaik tarafnya kepada protokol HTTPS.

Jika anda belum membeli sijil HTTPS, anda boleh mendapatkannya melalui beberapa pihak berkuasa sijil percuma. Pada masa ini, pihak berkuasa sijil percuma yang lebih biasa digunakan termasuk Let's Encrypt dan Cloudflare.

  1. Tentukan sama ada ia dipanggil di dalam klien WeChat

Apabila memanggil antara muka WeChat JS, anda mesti menentukan sama ada ia dipanggil di dalam klien WeChat pada masa ini. Secara amnya, kita boleh menilai dengan menilai sama ada window.navigator.userAgent mengandungi "MicroMessenger".

Berikut ialah contoh kod:

if (window.navigator.userAgent.indexOf("MicroMessenger") === -1) {
    alert("请在微信客户端内部访问本页面");
} else {
    // 调用微信 JS 接口进行分享
}

Jika ia tidak berada di dalam klien WeChat, gesaan akan muncul untuk membenarkan pengguna pergi ke klien WeChat untuk mengakses.

3. Ringkasan

Melalui analisis dan penyelesaian di atas, kita boleh membuat kesimpulan berikut:

  1. Dalam akaun awam WeChat yang dibangunkan menggunakan PHP, hubungi The WeChat Antara muka JS gagal melaksanakan operasi perkongsian, biasanya disebabkan oleh penggunaan protokol HTTP atau kegagalan untuk menentukan sama ada ia dipanggil dalam klien WeChat
  2. Cara untuk menyelesaikan masalah ini adalah dengan menggunakan protokol HTTPS untuk membuat panggilan dan pada masa yang sama tentukan semasa Sama ada ia dipanggil dalam klien WeChat
  3. Jika terdapat sebab lain yang menyebabkan perkongsian gagal, anda boleh mencari penyelesaian dalam dokumentasi pembangunan WeChat.

Saya harap kandungan di atas akan membantu anda menyelesaikan masalah kegagalan perkongsian akaun awam PHP WeChat.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah kegagalan perkongsian akaun awam PHP WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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