服务器与微信联通,联通微信和钉钉服务
【相关学习推荐:
微信 和 钉钉,分属于 腾讯 和 阿里巴巴 两大阵营,当他们之间可以互联互通,会是一种怎样神奇的场景?
今天,我们就通过 fastwego/offiaccount 和 fastwego/dingding 这两个开源 Golang SDK 试一试:
实现一个微信公众号秒变翻译机的服务:将用户发送过来的中文文本,翻译成法语。
微信开放平台 & 钉钉开放平台
微信公众号
开启开发模式,接管用户发送的消息:
同时,还将获取到微信公众号的 appid/secret/token 配置信息
钉钉开放平台
开通企业内部 H5 微应用并完成 AI 接口授权:
同时还将获取的钉钉 AppKey/AppSecret 的配置信息
翻译服务开发
翻译服务非常简单:获取微信公众号用户发送的文本
调用钉钉 AI 翻译接口,转换为目标语言
响应微信公众号,将翻译结果发送给用户
主要代码:// 微信公众账号var OffiAccount *offiaccount.OffiAccount// 钉钉 App 实例var DingApp *dingding.Appfunc init() {
// 加载配置文件
viper.SetConfigFile(".env")
_ = viper.ReadInConfig()
// 创建公众号实例
OffiAccount = offiaccount.New(offiaccount.Config{
Appid: viper.GetString("APPID"),
Secret: viper.GetString("SECRET"),
})
// 创建钉钉应用实例
DingApp = dingding.NewApp(dingding.AppConfig{
AppKey: viper.GetString("AppKey"),
AppSecret: viper.GetString("AppSecret"),
})}func HandleMessage(c *gin.Context) {
// 获取公众号消息
body, _ := ioutil.ReadAll(c.Request.Body)
log.Println(string(body))
message, err := OffiAccount.Server.ParseXML(body)
if err != nil {
log.Println(err)
}
var output interface{}
switch message.(type) {
case type_message.MessageText: // 文本 消息
msg := message.(type_message.MessageText)
// 调用 钉钉 翻译服务
params := struct {
Query string `json:"query"`
TargetLanguage string `json:"target_language"`
SourceLanguage string `json:"source_language"`
}{}
params.Query = msg.Content
params.SourceLanguage = "zh"
params.TargetLanguage = "fr"
data, err := json.Marshal(params)
if err != nil {
fmt.Println(string(data), err)
return
}
// 翻译接口
resp, err := ai.Translate(DingApp, data)
fmt.Println(string(resp), err)
if err != nil {
return
}
// 翻译结果
result := struct {
Errcode int64 `json:"errcode"`
Errmsg string `json:"errmsg"`
Result string `json:"result"`
}{}
err = json.Unmarshal(resp, &result)
fmt.Println(result, err)
if err != nil {
return
}
// 回复公众号 翻译结果文本消息
output = type_message.ReplyMessageText{
ReplyMessage: type_message.ReplyMessage{
ToUserName: type_message.CDATA(msg.FromUserName),
FromUserName: type_message.CDATA(msg.ToUserName),
CreateTime: strconv.FormatInt(time.Now().Unix(), 10),
MsgType: type_message.ReplyMsgTypeText,
},
Content: type_message.CDATA(result.Result),
}
}
OffiAccount.Server.Response(c.Writer, c.Request, output)}
运行效果
结语
至此,在fastwego/offiaccount 和 fastwego/dingding 这两个开源 Golang SDK 的辅助下,我们快速实现了微信 和 钉钉 服务打通的效果。
服务器与微信联通,联通微信和钉钉服务相关推荐
- 微信和联通“闪婚” 首推微信“零流量”资费
日前,广东联通和腾讯旗下产品微信达成首轮合作,主推微信"零流量"资费服务.即在广东联通现有"沃派"套餐上增加了"省内使用微信免流量费"服务. ...
- 让服务器实时跟你报告 —— 钉钉机器人 企业微信机器人
写在前面 一入炼丹深似海,希望天下没有空闲的GPU 每次训练开始跑起来总是要不断看什么时候结束,永远副屏都要开着终端实时查看GPU占用情况 原本想着能不能服务器有空闲时给我发邮件提醒呢,简单搜索了一番 ...
- 钉钉 服务器 消息推送,【20210727 更新】 全能推送PushBot(原钉钉推送)支持企业微信,PushPlus,Bark...
本帖最后由 然后七年 于 2021-7-27 21:51 编辑 公告: 自2021年04月25日起,本项目luci-app-serverchand改名为luci-app-pushbot 全能推送. o ...
- 钉钉和微信通过h5服务器对接,【案例】钉钉/企业微信/在线、工单等集成对接 | 网易七鱼...
工单接口案例: 企业内部IT共享服务中心,员工报障和IT技术人员接待处理的场景,而且可能是在钉钉或企业微信里面的,希望能够结合在线和工单的功能.如下疑问点: 是否支持访客自己提单.查询工单进度和接收工 ...
- wps表单小程序 服务器错误,微信小程序WPS表单怎么在钉钉使用
微信小程序不支持 table 标签,在网上找到一个使用 flex 来实现表格的简明例子,记录一下. table.wxml head1 head2 head3 {{item.code}} {{item. ...
- 微信上线「行程查询」服务;钉钉 CEO 回应被打「一星」;Go 1.14 发布 | 极客头条...
整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...
- 计算开始到结束的时间_阿里钉钉首次战胜微信,云计算的涨停潮只是开始,远未结束...
马云和马化腾在社交领域的较量,马云终于在今年赢了一次马化腾. 根据最新数据,阿里钉钉首次超过微信,跃居苹果App Store排行榜第一. 在苹果手机端应用商店和MAC电脑端应用商店,钉钉下载量均跃居免 ...
- JeecgBoot低代码平台 2.4.5 版本发布,钉钉与企业微信集成版本
项目介绍 JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shi ...
- 企业内部应用(阿里商旅)集成 钉钉 与 微信 实现SSO单点登陆
1.钉钉准备工作 (1) 创建应用 https://open-dev.dingtalk.com/fe/app#/corp/app (2)获取应用凭证 记录 AgentId AppKey AppSecr ...
最新文章
- 第 2 章 Editor
- springboot webservice cxf 客户端调用
- SpringBoot集成MyBatis-Plus代码生成器(Dao)
- Java B2B2C o2o多用户商城 springcloud架构-docker-feign-hystrix(六)
- 终于转了,写写人生学习规划
- 尚学堂科技_王勇_JAVA视频教程_Hibernate
- 海思3516ev300+ imx335 原理图,其他PCB、软件资料齐全
- 企业财务报表分析【2】
- php获取肖前时间,实践唯物主义哲学”简介创始人:肖前、高清海等(​贰·综合哲学类4)...
- android 字体外发光,CSS3 霓虹外发光字体效果
- MATLAB积分(一)
- 爬虫学习笔记 - day02
- 利用Python3将EXCEL中某列特殊字符之前的汉字取首字母,特殊字符之后的汉字取全拼,然后用下划线“_”相连,写入下一列...
- “麒”聚信创,共赢未来——信创解决方案分享会(首场)成功举办
- Linux—ps命令
- [附源码]java毕业设计图书借阅系统
- 使用2节点梁或梁/杆单元分析弹塑性梁或框架(python,有限元)
- 浏览器 DevTools使用
- H5调用摄像头拍照,录音及选择文件
- 计算机wps二级知识选择题,2020年计算机等级WPS考试经典练习题及答案