15

Python对接企业微信会话内容存档功能的实践

 3 years ago
source link: https://segmentfault.com/a/1190000022635200
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

背景

企业微信会话内容存档,是一项面对金融行业的开放的监管功能,其他行业可以找 企业微信官方服务商 [1]向腾讯申请审批开通。会话存档的推出是企业微信为了让企业可以了解员工与客户的互动情况,也为了避免员工拿走公司的客户资源

可获取的内容

图片、文字、语音、链接、视频、小程序,甚至是被撤回的消息,都能获取

rAf6jei.png!web

开发

企业微信现在只提供 c++ 和 java 的sdk去调用接口,但是很多企业会用python,golang,php等其它语言开发应用。下面简单说一下python如何去调用企业微信会话存档接口。首先下载会话存档的sdk,然后仅需要C_sdk文件夹里面的一个so文件。

python调用该so既可以对接企业微信会话存档接口

dll = ctypes.cdll.LoadLibrary('libWeWorkFinanceSdk_C.so')

上面是加载so,然后dll对象就可以调用对应的接口,接口的定义可以参考WeWorkFinanceSdk_C.h文件。关键是python调用so的时候,要声明调用函数的参数和返回值类型

dll.NewSdk.argtypes = []
dll.NewSdk.restype = ctypes.c_void_p

上面就是定义初始化企业微信sdk函数,其中指针类型在python里面可以定义为 ctypes.c_void_p ,而字符数组指针可以定义为 ctypes.c_char_p 。而实际调用函数的时候 ctypes.c_char_p 类型的参数python要传递 byte[] 类型的数据过去。

最终消息解码之后会原样呈现。

YJ7zYzA.png!web

参考文献

[1] https://crm.bytell.cn/blog/67caca6b19765805


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK