Maison > développement back-end > Problème PHP > Comment résoudre le problème de l'échec du partage de compte public PHP WeChat

Comment résoudre le problème de l'échec du partage de compte public PHP WeChat

PHPz
Libérer: 2023-04-12 19:06:26
original
1580 Les gens l'ont consulté

Récemment, de nombreux internautes ont signalé que les comptes officiels WeChat développés en PHP ne parviendraient pas à partager lors du partage. Ce problème a toujours existé et aucune solution claire n'a été trouvée. Discutons des raisons de ce problème et de la manière de le résoudre.

1. Raisons du problème

Dans les comptes publics WeChat développés avec PHP, nous utilisons généralement l'interface WeChat JS pour les opérations de partage. Lors de l'appel de l'interface WeChat JS pour le partage, nous devons remplir les deux conditions suivantes :

  1. L'interface WeChat JS doit être appelée au sein du client WeChat et ne peut pas être appelée en externe
  2. L'interface WeChat JS nécessite l'utilisation du protocole HTTPS ; pour appeler.

En raison des situations suivantes dans lesquelles de nombreux développeurs développent :

  1. Utilisez le protocole HTTP lors de l'appel de l'interface WeChat JS ;
  2. Il n'est pas déterminé s'il se trouve à l'intérieur du client WeChat lors de l'appel de l'interface WeChat JS ;

Ces deux problèmes entraîneront l'échec du partage des comptes officiels WeChat, car WeChat ne permet pas d'appeler l'interface WeChat JS dans les clients HTTP ou non-WeChat.

2. Comment résoudre

  1. Utiliser le protocole HTTPS

Lors de l'appel de l'interface WeChat JS, vous devez utiliser le protocole HTTPS, qui est officiellement stipulé par WeChat. Par conséquent, si votre site Web utilise toujours le protocole HTTP, vous devez le mettre à niveau vers le protocole HTTPS.

Si vous n'avez pas acheté de certificat HTTPS, vous pouvez l'obtenir auprès de certaines autorités de certification gratuites. Actuellement, les autorités de certification gratuites les plus couramment utilisées incluent Let's Encrypt et Cloudflare.

  1. Déterminez si elle est appelée dans le client WeChat

Lors de l'appel de l'interface WeChat JS, vous devez déterminer si elle est actuellement appelée dans le client WeChat. Généralement, on peut juger en jugeant window.navigator.userAgent 中是否包含 "MicroMessenger".

Ce qui suit est un exemple de code :

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

S'il ne se trouve pas dans le client WeChat, une invite apparaîtra demandant à l'utilisateur d'accéder au client WeChat pour y accéder.

3. Résumé

Grâce à l'analyse et aux solutions ci-dessus, nous pouvons tirer les conclusions suivantes :

  1. Dans le compte public WeChat développé en PHP, l'appel de l'interface WeChat JS pour les opérations de partage échoue, généralement en raison de l'utilisation de HTTP. Le protocole peut être dû au fait de ne pas déterminer s'il est appelé dans le client WeChat.
  2. La façon de résoudre ce problème est d'utiliser le protocole HTTPS pour passer l'appel, et en même temps de déterminer s'il est actuellement appelé dans le client WeChat. Client WeChat ;
  3. S'il existe d'autres raisons qui entraînent l'échec du partage, vous pouvez trouver des solutions dans la documentation de développement WeChat.

J'espère que le contenu ci-dessus vous aidera à résoudre le problème de l'échec du partage de compte public PHP WeChat.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal