微信服务号开发笔记
原理 微信服务号的原理比较简单。从请求响应角度来看,逻辑是: 用户微信客户端 --- 微信服务器 --- 微信服务号后台程序 --- 数据库或Web Service 也就是,用户的各种请求先经过微信的服务器,微信服务器将请求转发给微信服务号后台程序。 既然是微信服务器
原理
微信服务号的原理比较简单。从请求响应角度来看,逻辑是:
用户微信客户端 微信服务器 微信服务号后台程序 数据库或Web Service
也就是,用户的各种请求先经过微信的服务器,微信服务器将请求转发给微信服务号后台程序。
既然是微信服务器把用户请求数据转发给我们开发的微信服务号后台程序,那么在启用服务号的开发模式时就需要提供一个URL。另外为了安全 考虑,还需要提供一个token,用来校验请求是否来自微信服务器。校验的方法见微信开发者文档。校验又分两种:
在开发者首次提交验证申请时,微信服务器将发送GET请求到填写的URL上,并且带上四个参数(signature、timestamp、nonce、echostr),开发者通过对签名(即signature)的效验,来判断此条消息的真实性。
此后,每次开发者接收用户消息的时候,微信也都会带上前面三个参数(signature、timestamp、nonce)访问开发者设置的URL,开发者依然通过对签名的效验判断此条消息的真实性。效验方式与首次提交验证申请一致。
微信服务器转发到微信服务号后台程序的消息以及服务号后台程序返回给微信服务器的响应,都是XML格式,消息中都会指明发送者和接收者。 请求消息中的发送者为微信用户的openid,接收者为服务号开发者微信号,响应消息则相反。
消息中还有一个关键字段MsgType指明消息类型。微信将请求消息分为:普通消息、事件推送、语音识别结果三大类,其中,
- 普通消息分6种:文本、图片、语音、视频、地理位置、链接。
- 事件推送分4种:关注/取消关注事件、扫描带参数二维码事件、上报地理位置事件、自定义菜单事件(点击菜单拉取消息时的事件推送、点击菜单跳转链接时的事件推送)
响应消息也分6种:文本、图片、语音、视频、音乐、图文。
工作中为产品开发的微信服务号,目前对于普通消息,服务号后台程序自动响应一段文本消息;对于事件推送中的关注事件,则是响应一段欢迎、 功能简介的文本消息。
另外我们使用了自定义菜单事件,要想使用该事件,先要为你的微信服务号提供自定义菜单。自定义菜单是通过微信提供的API向其推送的。
在通过API向微信服务器推送自定义菜单时,微信服务器需要确认是否为可信任请求,确认方法是基于请求参数access_token。 access_token需要通过API向微信服务器获取。成功启用服务号的开发模式后,微信会为服务号分配一个AppId和AppSecret,获取access_token时 需要带上这两个参数,用于微信服务器确认是否为已注册服务号的请求。access_token相关文档见这里。
当成功获取access_token后就可以通过API创建、删除、查询服务号的自定义菜单了。
自定义菜单相关文档见这里。
以下Python代码是对自定义菜单API的简单封装:
开发
对于微信服务号后台程序,当然可以参照微信官方文档,从头开始实现。但可用非官方微信公众号SDK也不少。比如我使用的PHP SDK是这个。
其他语言的SDK也可以找找看。
注意
-
我在启用微信服务号的开发模式之后,就直接使用该服务号进行开发测试,但在开发测试过程中,已经有一些产品的用户关注了该服务号,那么这个过程中用户的体验会很差。正确的过程应该是先申请测试帐号进行开发测试,等开发测试完成后,再上线服务号。
-
自定义菜单在变更之后并不是实时更新的,官方文档的说明是:创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。
-
微信客户端应该是基于浏览器内核技术的,所以能解释渲染网页元素。图文消息中图片其实是一个img元素,所以需要你自己提供图床。微信官方的公众平台提供的消息发送功能,对于图文消息要求必须带图片,但服务号后台程序响应的图文消息中其实可以留空图片链接,这样用户收到图文消息看到的效果也许就是你需要的。另外,文本消息也是可以带超链接a元素的。
原文地址:微信服务号开发笔记, 感谢原作者分享。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ヒントを提供してくれた中国南部のネチズン Qing Qiechensi、HH_KK、石原さとみ、Wu Yanzu に感謝します。 9月2日のニュースによると、最近「iPhone 16はWeChatをサポートしないかもしれない」という噂があるが、これに対し中国のApple公式ホットラインに電話したシェル・ファイナンスの記者は、iOSシステムやAppleデバイスは引き続きサポートできると回答したという。 WeChat と WeChat を使用する Apple App Store に引き続き掲載およびダウンロードできるかどうかの問題は、今後の状況を決定するために Apple と Tencent 間のコミュニケーションと協議が必要です。ソフトウェア App Store と WeChat の問題の説明 ソフトウェア App Store の技術コンサルタントは、ソフトウェアを Apple Store に掲載するには開発者が料金を支払う必要がある可能性があると指摘しました。一定のダウンロード数に達すると、Apple はそれ以降のダウンロードに対応する料金を支払う必要があります。 AppleはTencentと積極的にコミュニケーションをとっており、

DeepSeek:強力なAI画像生成ツール! DeepSeek自体は画像生成ツールではありませんが、その強力なコアテクノロジーは、多くのAI塗装ツールを根本的にサポートしています。 DeepSeekを使用して画像を間接的に生成する方法を知りたいですか?読み続けてください! DeepSeekベースのAIツールで画像を生成します。次の手順では、これらのツールを使用するように導きます。AIペイントツールの起動:DeepSeekベースのAIペイントツールを検索して開きます(たとえば、「Simple AI」を検索します)。描画モードを選択します。「AI図面」または同様の関数を選択し、「アニメアバター」、「ランドスケープ」などのニーズに応じて画像タイプを選択します。

WeChat が iPhone 16 をサポートするという噂は誤りであることが判明しました。手がかりを提供してくれたネチズン Xi Chuang Jiu Shi と HH_KK に感謝します。 9 月 2 日のニュースによると、今日 WeChat が iPhone 16 をサポートしない可能性があるという噂があります。iPhone が iOS 18.2 システムにアップグレードされると、WeChat は使用できなくなります。 『デイリー経済ニュース』によると、この噂はデマであることが関係者の話でわかったという。 Apple の回答: Shell Finance によると、中国の Apple の技術コンサルタントは、WeChat が iOS システムまたは Apple デバイスで引き続き使用できるかどうか、また WeChat が引き続き Apple App Store に掲載されダウンロードできるかどうかという問題は解決する必要があると回答しました。 Apple と Tencent の間で解決されることは、コミュニケーションと話し合いを通じてのみ、将来の状況を決定することができます。現在、Apple は Tencent と積極的に連絡をとり、Tencent が今後も継続するかどうかを確認しています。

2013年に設立された主要な暗号通貨取引プラットフォームであるGate.ioは、中国のユーザーに完全な公式のウェブサイトを提供します。このウェブサイトは、スポット取引、先物取引、貸付など、幅広いサービスを提供し、中国のインターフェース、リッチリソース、コミュニティサポートなどの特別な機能を提供します。

Gateio Exchangeアプリは、公式のサードパーティのアプリケーション市場、フォーラムコミュニティ、その他のチャネルをカバーする古いバージョン用のチャネルをダウンロードします。また、古いバージョンを簡単に取得し、新しいバージョンやデバイスの互換性を使用する際の不快感を解決するのに役立ちます。

この記事では、中国のOUYI OKXアプリの安全なダウンロードに関する詳細なガイドを提供します。国内のアプリストアの制限により、ユーザーはOUYI OKXの公式Webサイトからアプリをダウンロードするか、公式Webサイトが提供するQRコードを使用してスキャンおよびダウンロードすることをお勧めします。ダウンロードプロセス中に、公式Webサイトのアドレスを確認し、アプリケーションの許可を確認し、インストール後にセキュリティスキャンを実行し、2要素の検証を有効にしてください。 使用中は、地方の法律や規制を遵守し、安全なネットワーク環境を使用し、アカウントのセキュリティを保護し、詐欺に対して警戒し、合理的に投資してください。 この記事は参照のみであり、投資のアドバイスを構成していません。

Gate.io(Sesame Open Door)は、世界をリードする暗号通貨取引プラットフォームです。このチュートリアルでは、アカウントの登録とログイン、KYC認定、FIAT通貨とデジタル通貨充電、取引ペアの選択、制限/市場取引注文、注文およびトランザクションレコードの表示などの手順を把握しているため、暗号通貨取引のためのgate.ioプラットフォームを迅速に開始できます。 初心者であろうとベテランであろうと、このチュートリアルから利益を得て、gate.ioの取引スキルを簡単に習得できます。

8月1日のこのウェブサイトのニュースによると、WeChatパブリックプラットフォーム運営センターは本日、運営者が公開した記事の一部に封建的な迷信が含まれており、金儲けや利益を得るために宗教、風水、幸運、その他のからくりを利用していることをプラットフォームが発見したとの記事を発表した。このようなコンテンツは、ユーザーに誤解を与えたり、財産上の損害を与えたりする可能性が非常に高いです。 WeChat は継続的な検査を実施し、違法なコンテンツが発見された場合には、違反の具体的な程度に応じて対応する措置を講じます。このサイトに添付されている違反事例は次のとおりです: 迷信関連のタイトルを出版すること、特定の行為の害や悪影響を誇張するために脅迫、誘導、その他の口調を使用すること。 ▲画像出典 WeChatパブリックプラットフォーム運営センター、以下同記事 占い、占術、占術などの封建的迷信を題材としたサービスを提供しており、積み替え商品や災害救援商品の販売などの有料アイテムも含まれている。関連サービスの提供を名目に、ユーザーの個人プライバシー情報を不当に収集する行為
