def create_conversation(thumb,id):
data = {“thumb”:SSIMAGE_CDN_URL + thumb,“attr”:{‘isGroup’:True},“name”: ‘activity_’ + str(id), “m”: [“soundlife”]}
headers = {“X-LC-Id”: CleanCloud.appid, “X-LC-Key”: CleanCloud.appkey, “Content-Type”: “application/json”}
res = requests.post(CleanCloud.appurl, json=data, headers=headers)
return res.json()

后端用python 创建一个聊天室以后
前端js查询该roomId得不到 messages 字段

rt.conv('roomid',function(response){
      response(这个json里面没有messages字段)
})

但是我通过js 的sdk 创建的 即时聊天 却有messages 字段,求解。

确认一下 JS SDK 版本,在 2.3.3 中有个这种 Bug,可能会获取不到,请先确认下 JS SDK 的版本。

当前JS版本就是2.3.4 应该是最新的了

我当前JS版本是2.3.4 是你们最新的了吧 ,后端调你们api 创建了一个房间拿不到messages,前端创建的有messages 这个字段

后端创建房间之后,在控制台中生成这个房间了么?

肯定生成了房间,否则我获取不到你们的roomId,你们这个实时聊天做的太奇怪了,bug 多 ,数据格式混乱,比如那个query方法回得是房间信息,但是conv 和 room 方法会的就是roomObject ,然后你们的query方法 回过来的会话信息,有的有messages 字段,有的没有messages字段,这让人怎么用?我现在只能通过拿到的roomId 再去room.log 到你们后端去取一遍messages 在插入,然后因为你们query 方法有的有message 有的没有,所以还要再判断一编是否有messages ,弄的我代码这边混乱不堪

curl -X POST -H "X-LC-Id:l09Yf02eV2cTV7sctYDR7rJd" -H "X-LC-Key:7C70QJ2p93NJduqxQA4nn7kf,master" -H "Content-Type: application/json" -d '{"from_peer": "BillGates", "message": "helloworld", "conv_id": "56ebdcde5bbb50004c45cc2b", "transient": false}' https://leancloud.cn/1.1/rtm/messages

返回错误:什么意?
{"code":1,"error":"The request must be signed by master key."}

这个是查询聊天记录,需要在服务端使用 MasterKey。

实例化 roomObj 后,监听 message 事件即可,如果有消息,服务端会自动推送。