微信公众号测试号配置,群发消息(go实现)

配置服务器(以本地服务器127.0.0.1:8080为例)

⑴新建项目(这里用的goframe框架)

路由:

var (Main = gcmd.Command{Name:  "main",Usage: "main",Brief: "start http server",Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {s := g.Server()s.Use(ghttp.MiddlewareCORS, ghttp.MiddlewareHandlerResponse)RouterGroup := s.Group("/wechat")//验证消息是否来自微信服务器RouterGroup.GET("/check", controller.Check.Checkout)s.Run()return nil},}
)

controller:

package controllerimport (v1 "WeChatServer/api/v1""WeChatServer/internal/service""context"
)var Check = checkApi{}type checkApi struct{}func (c *checkApi) Checkout(ctx context.Context, req *v1.CheckApiReq) (res *v1.ThresholdApiRes, err error) {res, err = service.Check.Checkout(ctx, req)return
}

service:

package serviceimport (v1 "WeChatServer/api/v1""context""crypto/sha1""encoding/hex""fmt""github.com/gogf/gf/v2/frame/g""sort"
)var Check = &checkService{}type checkService struct {
}func (s *checkService) Checkout(ctx context.Context, req *v1.CheckApiReq) (res *v1.ThresholdApiRes, err error) {response := g.RequestFromCtx(ctx).Responserequest := g.RequestFromCtx(ctx).Request//解析URL参数err = request.ParseForm()if err != nil {fmt.Println("URL解析失败!")return}// tokenvar token string = "e5rerF66gdKK643"// 获取参数signature := request.FormValue("signature")timestamp := request.FormValue("timestamp")nonce := request.FormValue("nonce")echostr := request.FormValue("echostr")//将token、timestamp、nonce三个参数进行字典序排序var tempArray = []string{token, timestamp, nonce}sort.Strings(tempArray)//将三个参数字符串拼接成一个字符串进行sha1加密var sha1String string = ""for _, v := range tempArray {sha1String += v}h := sha1.New()h.Write([]byte(sha1String))sha1String = hex.EncodeToString(h.Sum([]byte("")))//获得加密后的字符串可与signature对比if sha1String == signature {response.Writefln(echostr)} else {fmt.Println("验证失败")}return nil, nil}

验证消息接口为:127.0.0.1:8080/wechat/check

2.配置微信公众号测试号

下载ngrok工具

 打开工具,输入:ngrok http 8080  按enter键得到以下如图地址(目的是让微信服务器能访问到127.0.0.1:8080)注意:内网穿透工具不能关闭,关闭过后映射的地址将会失效,则需重新配置

 上面框出来的地址就是微信服务器可以访问的localhost:8080

则微信验证消息接口:https://74ac-110-184-211-122.jp.ngrok.io/wechat/check

打开微信公众号测试号配置页面:微信公众平台

 启动项目后,将验证消息接口:https://74ac-110-184-211-122.jp.ngrok.io/wechat/check填入URL

,token这项随便填什么都可以,然后提交,显示配置成功就没问题了

 js接口我也填的127.0.0.1:8080映射的地址。测试公众号好就配好了,下面就可以通过测试公众号进行开发了

下面测试微信公众号群发消息功能

微信SDK For Golang:简介 · 微信开发sdk文档

在刚刚的项目导入

go get github.com/silenceper/wechat/v2

 路由:

package cmdimport ("context""github.com/gogf/gf/v2/frame/g""github.com/gogf/gf/v2/net/ghttp""github.com/gogf/gf/v2/os/gcmd""WeChatServer/internal/controller"
)var (Main = gcmd.Command{Name:  "main",Usage: "main",Brief: "start http server",Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {s := g.Server()s.Use(ghttp.MiddlewareCORS, ghttp.MiddlewareHandlerResponse)RouterGroup := s.Group("/wechat")//验证消息是否来自微信服务器RouterGroup.GET("/check", controller.Check.Checkout)//发送消息RouterGroup.GET("/send", controller.Send.Send)s.Run()return nil},}
)

controller:

package controllerimport (v1 "WeChatServer/api/v1""WeChatServer/internal/service""context"
)var Send = sendApi{}type sendApi struct{}func (c *sendApi) Send(ctx context.Context, req *v1.CheckApiReq) (res *v1.ThresholdApiRes, err error) {res, err = service.Send.Send(ctx, req)return
}

service:

package serviceimport ("WeChatServer/api/v1""context""github.com/silenceper/wechat/v2""github.com/silenceper/wechat/v2/cache""fmt"offConfig "github.com/silenceper/wechat/v2/officialaccount/config"
)var Send = &sendService{}type sendService struct {
}func (s *sendService) Send(ctx context.Context, req *v1.CheckApiReq) (res *v1.ThresholdApiRes, err error) {redisOpts := &cache.RedisOpts{Host:        "114.115.149.180:6379",             // redis hostPassword:    "K357ghfK5hd349jFOEWG7Fgdk9ej37gS", //redis passwordDatabase:    0,                                  // redis dbMaxActive:   10,                                 // 连接池最大活跃连接数MaxIdle:     10,                                 //连接池最大空闲连接数IdleTimeout: 60,                                 //空闲连接超时时间,单位:second}redisCache := cache.NewRedis(ctx, redisOpts)cfg := &offConfig.Config{AppID:          "wxc10d5372fa9f34d0",AppSecret:      "f03d54bd8f0f11ad22ef9c29c165d534",Token:          "e5rerF66gdKK643",EncodingAESKey: "",Cache:          redisCache,}wc := wechat.NewWechat()oa := wc.GetOfficialAccount(cfg)bd := oa.GetBroadcast()_, err = bd.SendText(nil, req.Message)fmt.Println("测试走到这里了")if err != nil {return nil, err}return nil, nil}

v1:

package v1type ThresholdApiRes struct {
}type CheckApiReq struct {Message string
}

用自己的微信关注测试公众号后,启动项目访问:127.0.0.1:8080/wechat/send

 微信收到公众号发来的消息

结束了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10956.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号测试账号申请,后台获取公众号关注取关事件,获取用户发送消息

目录 1、访问微信公众号平台2、扫码登录3、登录后进行接口信息配置4、完成以上配置和代码,将代码部署到服务器上,后台就可以接收到公众号的关注、取关、用户发送的消息等等事件拉! 1、访问微信公众号平台 微信公众号测试地址 2、扫码登录 …

微信公众号群发模板消息占用每月4次群发次数吗

实现微信公众号群发模板消息不占用每月4次群发次数,微号帮提供了模板消息群发功能实现,可以在线给公众号群发模板消息,模板消息内容可以添加粉丝昵称、换行、自定义文字颜色,通过功能可以实现公众号不占用每月4次群发次数&#xf…

基于chatGPT的问答机器人开发-qdrant向量数据库的集合功能封装

之前一直再开发基于GPT的问答知识库机器人,主要是靠qdrant的向量搜索,搜索出相关的条目,然后发送给GPT回答 qdrant向量数据库有集合的概念,相当于表,每个集合里面可以创建多个向量数据。 那么针对集合的操作就是下面这…

Datawhale-chatGPT开发应用指南:相似匹配

Embedding介绍 相关API LMAS Embedding API chatGPT Style 提prompt embedding应用 用于文本预处理,相似的人,离奇的点等。 相关文献

【回答问题】ChatGPT上线了!如何将Disco Diffusion 部署到GPU云服务器上?

【回答知乎用户长时间没有回答问题】ChatGPT上线了!如何将Disco Diffusion 部署到GPU云服务器上? 若要将 Disco Diffusion 部署到 GPU 云服务器上,您可以按照以下步骤进行: 准备一台 GPU 云服务器,并确保您已经安装了…

ChatGPT,程序员修改bug的神器??

ChatGPT是OpenAI开发的一个大型预训练语言模型,目前尚处于免费测试阶段,它主要以连续对话的形式与人建立交互。 网友们已经把ChatGPT玩出了花,无论大事小事,找ChatGPT问问总不会出错。 当然,作为程序员的我们&#x…

AI将颠覆教育行业:CallAnnie,MyShell,Brisk Teaching

人工智能颠覆教育的速度加快了,最近A在教育上的应用越来越丰富,今天给大家介绍3个非常强大的人工智能教育工具,如果你能掌握其中一个少说也能省下上万块钱的辅导费。 随着ChatGPT的火热,很多AI的工具变得越来越智能化&#xff0c…

抢先微软,Google版Copilot上线!谷歌宣布给Google全家桶开放Bard功能

夕小瑶科技说 原创 作者 | 智商掉了一地、兔子酱 就在本月 5 号,Bard 和 Google Workspace 同步更新了一则新闻,宣布 Workspace 的团队用户即日起可以申请体验由 Bard 大模型驱动的生成式 AI 工具。 这项计划在今年 3 月份首次公布,当时该工具…

国内某巨头电商APP利用Android漏洞细节曝光:内嵌提权代码、动态下发Dex

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 来自 | OSC开源社区(ID:oschina2013) 近日,独立安全研究机构 DarkNavy 发表文章披露,国内一家互联网巨头的 APP 利用了 Android 系统漏洞提权使其难以卸载…

领英退出中国,谷歌Bard集成进安卓,陆奇最新演讲,HuggingFace网传遭禁|今日科技圈要闻

夕小瑶科技说 原创 作者 | 智商掉了一地、兔子酱 AI 新闻速递来咯!搬好小板凳,一起了解近期发生了什么新鲜事~ 领英职场退出中国 领英是一个专注于职业发展、招聘和营销等方面的社交平台。Linkdein 官方公众号发布公告称,由于面临日趋激烈…

安卓APP源码和设计报告——仿淘宝购物APP

2021—2022学年第二学期期末考试 《Android手机软件开发》实践考核 项目设计说明书 项目名称: 购物APP的设计与实现 专 业: 计算机科学与技术 学 号: 姓 名: 任课教师: 2022年6月12日 目 录 1.项目概述11 2…

Android Studio最新版 Studio Bot使用

最近由ChatGPT引起的AI热潮已席卷各行各业,其中Google已在Android studio中开发出了类似ChatGPT的工具,可以协助我们编码,大大提高效率。 本文主要讲述如何下载及使用带有Studio Bot功能的版本,以及会遇到的一些坑。 效果图 安装…

Studio Bot - 让 AI 帮我写 Android 代码

Google I/O 2023 不出所料,今年的 I/O 大会只突出了一个关键词 “AI”。Google 旗下的各类产品都成了其展示 AI 实力的舞台。连面向开发者的产品 Android Studio 也新增了 Studio bot 功能,希望通过 AI 帮助开发者更轻松地写代码: Studio Bot…

试用国内chatgpt网站的第一天:小镜AI

最近发现了一个国内挺好用的chatgpt网站!不仅可以切换GPT3.5和GPT4,还支持包月和聊天续存。最吸引我的一点是它可以多端使用,不仅可以使用网页,还有小程序!!我一般都是用网页版,听说安卓好像还可…

宝塔+x-ui面板共存,并使用Cloudflare WARP一键脚本解决openai 1020错误代码的问题记录

本文是根据网络上的资料后自行组合整理, 网站面板下载地址:宝塔 x-ui面板项目地址: x-ui Cloudflare WARP一键脚本项目地址: Cloudflare WARP 服务器版本:Ubuntu 22.04 x64 域名托管:cloudflare 宝塔安装 …

LTD推出数字化官网ChatGPT解决方案

​ LTD推出的数字化官网ChatGPT解决方案 致力于提供一套基于数字化官网与ChatGPT的高效AI服务,采用业界领先的生成式AI技术,与数字化官网的业务场景紧密结合,为客户带来丰富的应用体验和实际价值。 在数字化官网的四大能力基础上&#xff0c…

ChatGPT热潮方兴未艾,超级车载或将成为现实

近期,由OpenAI 公司推出的ChatGPT聊天机器人软件突然爆红,再一次掀起了人们对AI技术的狂热追捧。 ChatGPT的本质是一个大型语言预训练模型,但其凭借无所不知、无所不能的AI聊天能力,短短三个月就吸引了超1亿活跃用户,…

ChatGPT 不好用?请收下这份 Prompt 工程指南!

ChatGPT 火了 5 个月,你知道如何提示才能最大程度发挥其性能吗? 原文链接:https://medium.com/sopmac-ai/prompt-engineering-tips-for-chatgpt-73c3dca6f99d 未经授权,禁止转载! 作者 | Ivan Campos 译者 | 弯月 责…

chatgpt赋能python:Python更改IP地址教程

Python 更改 IP 地址教程 网络工程中,经常需要更改 IP 地址以实现特定的目的。而 Python 是一门强大的编程语言,可以用来对网络进行编程和管理,因此很多人选择使用 Python 来更改 IP 地址。在本文中,我们将介绍如何利用 Python 更…

chatgpt赋能python:Python从IP端口获取数据

Python从IP端口获取数据 Python是一个强大的编程语言,它可以用来从IP端口获取数据。本文将介绍如何在Python中通过网络接口和端口获取数据。 什么是IP地址和端口? IP地址是Internet上用于唯一标识设备的地址,它由四个数字(255以…