WeixinBot icon indicating copy to clipboard operation
WeixinBot copied to clipboard

请问为什么每次好友id,群id都是改变的,能不能获取固定的id

Open sue2xlh opened this issue 8 years ago • 4 comments

请问为什么每次好友id,群id都是改变的,能不能获取固定的id

sue2xlh avatar Dec 16 '16 09:12 sue2xlh

并不能,但是能拿到微信号,如果有的话

syzhugh avatar Jan 07 '17 09:01 syzhugh

一个方法就是:在手机端打开好友或群的聊天窗口,http 接口会收到一个类似“打开聊天窗口”的消息 (消息类型=51),里面的 content 内容是 xml 格式的数据,其中格式类似:

<msg>
	<op id='2'>
		<username>未加密的帐号(打开的联系人的帐号)</username>
	</op>
</msg>

username 中间的数值就是固定的ID(相当于明文ID),但这个数值只能你自己发送消息的时候使用,http 接口返回来的都是每个会话不同的动态ID。

参见我用 Java 写的: https://github.com/moontide/WeChatBotEngine/blob/master/src/net_maclife_wechat_http_BotEngine.java#L1762

moontide avatar Mar 18 '17 09:03 moontide

"wxid_xwpxlw11111"类似这样的id吧?朋友你真是太细致了!一直想拿到这个东西,这个id好像是唯一并且不变的,再学习学习

syzhugh avatar Mar 18 '17 10:03 syzhugh

@syzhugh 我自己的 bot 想要主动发一些消息,虽然可以通过昵称这类找到这个人,但还是可能存在昵称重复的问题;另外,关于聊天室,通过这种方式找不到【未加入到通讯录里的群】。

偶然间发现后台有这个东西,观察了一下是不变的,而且,可以在发消息时使用这个“明文ID”

moontide avatar Mar 18 '17 10:03 moontide