上云无忧 > 文档中心 > 环信MQTT消息云服务使用教程 - 消息收发(Python服务端)
MQTT消息云服务
环信MQTT消息云服务使用教程 - 消息收发(Python服务端)

文档简介:
本文介绍Python服务端通过调用环信MQTT消息云 REST API接口快速实现消息下发,使用时可参阅REST 发送消息接口介绍。 1. 前提条件: 1.1 获取服务器信息。 调用环信MQTT消息云 REST API接口前,需要获取四个配置信息,包括:应用clientID、应用clientSecret、REST API地址及应用ID。
*此产品及展示信息均由环信官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

本文介绍Python服务端通过调用环信MQTT消息云 REST API接口快速实现消息下发,使用时可参阅REST 发送消息接口介绍

1.1 获取服务器信息

调用环信MQTT消息云 REST API接口前,需要获取四个配置信息,包括:应用clientID应用clientSecretREST API地址应用ID
1、应用clientID:从环信console【应用概览】→【应用详情】→【开发者ID】下 “client ID”获取;
2、应用clientSecret:从环信console【应用概览】→【应用详情】→【开发者ID】下“clientSecret”获取;
3、RSET API地址:从环信console【MQTT】→【服务概览】→【服务配置】下“REST API地址”获取;
4、应用ID:从环信console【MQTT】→【服务概览】→【服务配置】下“AppId”获取;

注:本代码对消息体内容进行GBK转码,可支持语音播报(适用于扬声器播放中文内容),如不需要此场景使用,可根据需求设置转码格式。

import requests
import time
import json
import base64


# 填写服务参数
# 1、app_client_id:应用clientID
# 2、app_client_secret:应用clientSecret
# 3、api_url_base:RSET API地址
# 4、app_id:应用ID
app_client_id = ' XXXXX'

app_client_secret = 'XXXX'

api_url_base = 'XXXXX' 

app_id = 'XXXXXX'


# 播报文字
speak_text = '欢迎使用环信mqtt'


# 获取应用token
api_url_app_token = api_url_base + '/openapi/rm/app/token'
def get_app_token():
    data = {
        'appClientId':app_client_id,
        'appClientSecret':app_client_secret
    }
    
    header = {'Content-Type': 'application/json'}

    re = requests.post(api_url_app_token, headers=header, data=json.dumps(data))
    return (json.loads(re.text)['body']['access_token'])


# 发送mqtt消息
api_url_publish = api_url_base + '/openapi/v1/rm/chat/publish' 
def send_msg(app_token, txt):

    # 智能音箱的 msgid 每次都不一样才会播报声音
    # 这里用毫秒时间戳当作 msgid
    time_millis = int(round(time.time() * 1000))

    dat ={
    'type':'tts_dynamic',
    'msgid': time_millis, 
    'txt':txt , 
    }
    
    json_text = json.dumps(dat, ensure_ascii=False)
    json_h = json_text.encode(encoding="gbk") 
    base64_bytes = base64.b64encode(json_h)
    base64_utf8 = str(base64_bytes,'utf-8')

    #topics,要发送的主题
    #clientid,当前客户端ID,格式为“xxxx@appid”
    data = {
        'topics':['861714050059769'],
        'clientid':'12@ff6sc0',
        'payload':base64_utf8,
        "encoding":'base64',
        'qos':1,
        'retain':0,
        'expire':86400
    }

    header = {
        'Content-Type': 'application/json',
        'Authorization': app_token
    }

    re = requests.post(api_url_publish, headers=header, data=json.dumps(data))
    return (json.loads(re.text))


print('正在获取应用token...')
app_token = get_app_token()
print('获取应用token成功')

print(send_msg(app_token, speak_text))
print('发送消息成功')
  • 如果您在使用MQTT服务中,有任何疑问和建议,欢迎您联系我们。

相似文档
  • 在使用MQTT客户端收发消息前,需根据MQTT所支持的开发语言下载对应SDK。 MQTT服务默认支持标准的MQTT 3.1.1和MQTT 5.0协议,理论上能够适配所有的MQTT客户端,但不排除部分MQTT客户端存在细节上的兼容性问题。 针对MQTT的常用开发语言,推荐对应的第三方SDK如下表所示,开发者在集成时需要选择及维护适配的SDK:
  • 环信MQTT消息云提供云端API接口,遵循REST体系结构,服务端应用可以直接调用,与环信MQTT消息云进行消息交互。 获取应用Token:当不通过SDK,直接调用openAPI接口时,需要在头部'Authorization'参数设置, 应用Token,本接口即可获取应用Token。
  • 们在 Github 和Gitee已经提供了完整的 Demo源码,大家可以根据需要自行下载。 话题聊天室:大型在线聊天室,通过环信MQTT实现统计在线人数、发送弹幕、触发点赞、实时更新排行等功能。Android、iOS、Web。 实时图表:实时数据图表,通过环信MQTT实现数据实时传输、多终端数据同步(增长值、在线人数)。Android、iOS、Web。
  • 概述: 本文主要列举使用服务时遇到的常见问题,列举如下: 业务开通: 注册后无法开通MQTT业务? 客户端集成: 哪些开发语言支持集成MQTT客户端? 小程序是否支持集成MQTT客户端? 安卓端如何集成MQTT客户端? iOS端如何集成MQTT客户端? Java端如何集成MQTT客户端? Web端如何集成MQTT客户端?
  • 客服电话:400-826-7010。如果您准备使用或正在使用MQTT服务,有任何疑问和建议,欢迎您加入企业微信群或提交工单与我们交流。 1. 加入交流群: 微信or企业微信 扫一扫,加入企业微信交流群: 2. 提交工单: 登陆环信通讯云管理后台、 点击“服务支持-工单支持”、 点击“进入工单系统”。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部