最近、多くのネチズンが、PHP を使用して開発された WeChat 公開アカウントが共有時に共有に失敗すると報告しました。この問題は常に存在しており、明確な解決策は見つかっていませんが、この問題の原因と解決方法について説明します。
1. 問題の理由
PHP で開発された WeChat パブリック アカウントでは、通常、共有操作に WeChat JS インターフェイスを使用します。共有のために WeChat JS インターフェイスを呼び出す場合、次の 2 つの条件を満たす必要があります:
- WeChat JS インターフェイスは WeChat クライアント内で呼び出す必要があり、外部から呼び出すことはできません。 WeChat JS インターフェイスでは、HTTPS プロトコルを呼び出す必要があります。
- 多くの開発者は、開発時に次のような状況に遭遇するでしょう:
WeChat JS インターフェイスを呼び出すときに HTTP プロトコルが使用されます。 WeChat JS インターフェースは、WeChat クライアント内で呼び出されるかどうかは決まりません。
- WeChat では HTTP または非 WeChat クライアント内で WeChat JS インターフェイスを呼び出すことができないため、これらの問題はどちらも WeChat 公式アカウントの共有に失敗します。
- 2. 解決方法
HTTPS プロトコルを使用する
WeChat JS インターフェースを呼び出す場合は、公式に規定されている HTTPS プロトコルを使用する必要があります。 WeChatによる。したがって、Web サイトがまだ HTTP プロトコルを使用している場合は、HTTPS プロトコルにアップグレードする必要があります。
- HTTPS 証明書を購入していない場合は、無料の認証局を通じて取得できます。現在、より一般的に使用されている無料の認証局には、Let's Encrypt や Cloudflare などがあります。
WeChat クライアント内で呼び出されているかどうかを確認する
WeChat JS インターフェイスを呼び出すときは、現在 WeChat クライアント内で呼び出されているかどうかを確認する必要があります。一般的には、
- window.navigator.userAgent
に
"MicroMessenger"
が含まれているかどうかで判断できます。
以下はサンプル コードです:if (window.navigator.userAgent.indexOf("MicroMessenger") === -1) { alert("请在微信客户端内部访问本页面"); } else { // 调用微信 JS 接口进行分享 }
ログイン後にコピー
これが WeChat クライアント内にない場合は、WeChat クライアントにアクセスしてアクセスするようユーザーに求めるプロンプトが表示されます。
3. 概要
上記の分析とソリューションを通じて、次の結論を導き出すことができます:
PHP を使用して開発された WeChat パブリック アカウントで、The WeChat を呼び出します。 JS インターフェイスは共有操作を実行できません。これは通常、HTTP プロトコルの使用または WeChat クライアント内で呼び出されるかどうかの判断の失敗が原因です。
この問題を解決する方法は、HTTPS プロトコルを使用して呼び出しと同時に、現在の WeChat クライアント内で呼び出されているかどうかを判断します。
- 共有が失敗する他の理由がある場合は、WeChat 開発ドキュメントで解決策を見つけることができます。
- 上記の内容が、PHP WeChat パブリック アカウント共有の失敗の問題の解決に役立つことを願っています。
以上がPHP WeChatパブリックアカウント共有失敗の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。