【相关学习推荐:

微信 和 钉钉,分属于 腾讯 和 阿里巴巴 两大阵营,当他们之间可以互联互通,会是一种怎样神奇的场景?

今天,我们就通过 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 的辅助下,我们快速实现了微信 和 钉钉 服务打通的效果。

服务器与微信联通,联通微信和钉钉服务相关推荐

  1. 微信和联通“闪婚” 首推微信“零流量”资费

    日前,广东联通和腾讯旗下产品微信达成首轮合作,主推微信"零流量"资费服务.即在广东联通现有"沃派"套餐上增加了"省内使用微信免流量费"服务. ...

  2. 让服务器实时跟你报告 —— 钉钉机器人 企业微信机器人

    写在前面 一入炼丹深似海,希望天下没有空闲的GPU 每次训练开始跑起来总是要不断看什么时候结束,永远副屏都要开着终端实时查看GPU占用情况 原本想着能不能服务器有空闲时给我发邮件提醒呢,简单搜索了一番 ...

  3. 钉钉 服务器 消息推送,【20210727 更新】 全能推送PushBot(原钉钉推送)支持企业微信,PushPlus,Bark...

    本帖最后由 然后七年 于 2021-7-27 21:51 编辑 公告: 自2021年04月25日起,本项目luci-app-serverchand改名为luci-app-pushbot 全能推送. o ...

  4. 钉钉和微信通过h5服务器对接,【案例】钉钉/企业微信/在线、工单等集成对接 | 网易七鱼...

    工单接口案例: 企业内部IT共享服务中心,员工报障和IT技术人员接待处理的场景,而且可能是在钉钉或企业微信里面的,希望能够结合在线和工单的功能.如下疑问点: 是否支持访客自己提单.查询工单进度和接收工 ...

  5. wps表单小程序 服务器错误,微信小程序WPS表单怎么在钉钉使用

    微信小程序不支持 table 标签,在网上找到一个使用 flex 来实现表格的简明例子,记录一下. table.wxml head1 head2 head3 {{item.code}} {{item. ...

  6. 微信上线「行程查询」服务;钉钉 CEO 回应被打「一星」;Go 1.14 发布 | 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

  7. 计算开始到结束的时间_阿里钉钉首次战胜微信,云计算的涨停潮只是开始,远未结束...

    马云和马化腾在社交领域的较量,马云终于在今年赢了一次马化腾. 根据最新数据,阿里钉钉首次超过微信,跃居苹果App Store排行榜第一. 在苹果手机端应用商店和MAC电脑端应用商店,钉钉下载量均跃居免 ...

  8. JeecgBoot低代码平台 2.4.5 版本发布,钉钉与企业微信集成版本

    项目介绍 JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shi ...

  9. 企业内部应用(阿里商旅)集成 钉钉 与 微信 实现SSO单点登陆

    1.钉钉准备工作 (1) 创建应用 https://open-dev.dingtalk.com/fe/app#/corp/app (2)获取应用凭证 记录 AgentId AppKey AppSecr ...

最新文章

  1. 第 2 章 Editor
  2. springboot webservice cxf 客户端调用
  3. SpringBoot集成MyBatis-Plus代码生成器(Dao)
  4. Java B2B2C o2o多用户商城 springcloud架构-docker-feign-hystrix(六)
  5. 终于转了,写写人生学习规划
  6. 尚学堂科技_王勇_JAVA视频教程_Hibernate
  7. 海思3516ev300+ imx335 原理图,其他PCB、软件资料齐全
  8. 企业财务报表分析【2】
  9. php获取肖前时间,实践唯物主义哲学”简介创始人:肖前、高清海等(​贰·综合哲学类4)...
  10. android 字体外发光,CSS3 霓虹外发光字体效果
  11. MATLAB积分(一)
  12. 爬虫学习笔记 - day02
  13. 利用Python3将EXCEL中某列特殊字符之前的汉字取首字母,特殊字符之后的汉字取全拼,然后用下划线“_”相连,写入下一列...
  14. “麒”聚信创,共赢未来——信创解决方案分享会(首场)成功举办
  15. Linux—ps命令
  16. [附源码]java毕业设计图书借阅系统
  17. 使用2节点梁或梁/杆单元分析弹塑性梁或框架(python,有限元)
  18. 浏览器 DevTools使用
  19. H5调用摄像头拍照,录音及选择文件
  20. 计算机wps二级知识选择题,2020年计算机等级WPS考试经典练习题及答案

热门文章

  1. 2022.3.4总结+45. 跳跃游戏 II 力扣
  2. 在router中使用pinia报错解决
  3. spring oauth2 的error_description本地提示中文,线上提示英文。
  4. Python中用fabric库来远程连接服务器
  5. Python 为什么不支持 switch 语句?
  6. 原生的HTML Table表格实现表头添加斜杠
  7. 2016级移动应用开发在线测试14-MediaPlayer
  8. tinygo的windows环境搭建及简单例程
  9. Nacos服务健康监测
  10. android 应用程序Activity管理类