当前位置: 首页 > news >正文

PHP实现企业微信 会话存档功能

想要实现企微会话存档的功能,但企微官方提供的SDK,只有C++和JAVA的版本。要使用PHP实现该功能,就要借助民间大佬的智慧。

PHP版本的SDK

  • github上的大佬 @majiameng, 实现了php会话存档SDK,下面是github地址:

https://github.com/majiameng/wework-finance-sdk-php

一、使用要求:

  • 需要用到php扩展 ext-wxwork_finance_sdk 或者 ext-ffi,二选一即可。

我这里使用的是 wxwork_finance_sdk扩展。

1.1 安装php7-wxwork-finance-sdk

扩展地址:https://github.com/pangdahua/php7-wxwork-finance-sdk
C版本SDK地址:https://wwcdn.weixin.qq.com/node/wework/images/sdk_20200401.zip

#  1.将php的SDK下载到服务器git clone https://github.com/pangdahua/php7-wxwork-finance-sdk.git# 2.下载C版本的SDKwget https://wwcdn.weixin.qq.com/node/wework/images/sdk_20200401.zip# 3.使用unzip解压zip包unzip sdk_20200401.zip# 4.进入 php7-wxwork-finance-sdk目录cd php7-wxwork-finance-sdk# 5.使用phpize进行扩展编译phpize # 宝塔的路径 /www/server/php/74/bin/phpize# 6.编译配置# /www/server/php/74/bin/php-config 为当前使用的php# /www/sdk_20200401/C_sdk 为上面下载的C版本的sdk路径./configure --with-php-config=/www/server/php/74/bin/php-config --with-wxwork-finance-sdk=/www/sdk_20200401/C_sdk# 执行编译安装make && make install
  • 最终生成扩展文件路径
/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/wxwork_finance_sdk.so

1.2 将扩展加入php配置中

[wxwork_finance_sdk]
extension=/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/wxwork_finance_sdk.so

在这里插入图片描述

  • 保留后,重启php。

二、在代码中使用,使用框架:tp6

2.1 composer安装sdk代码

composer require tinymeng/wework-finance-sdk

2.2 在代码中实现

<?php
namespace app\controller;use app\BaseController;
use think\Request;use tinymeng\WeWorkFinanceSDK\Exception\FinanceSDKException;
use tinymeng\WeWorkFinanceSDK\WxFinanceSDK;class Session extends BaseController
{/*** 获取聊天对话记录(会话存档)* @param Request $request* @return void*/public function history(Request $request){// 企业配置$corpConfig = ['corpid'       => '企业ID','secret'       => '应用密钥','private_keys' => [1 => '-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----',],/*** includePath(使用php-ffi扩展时)* 可选 :默认使用组件内SDK(默认SDK只支持Liunx),如果想使用其他版本SDK,请填写对应SDK路径* 官网下载SDK https://developer.work.weixin.qq.com/document/path/91774*/'includePath' => '',];// 包配置$srcConfig = ['default' => 'php-ext',// 两种方式的切换: php-ext 或 php-ffi];$seq = $request->param('seq', 1);$limit = $request->param('limit', 10);try {$wxFinanceSDK = WxFinanceSDK::init($corpConfig, $srcConfig);// 获取会话记录数据(解密)$list = $wxFinanceSDK->getDecryptChatData($seq, $limit);foreach ($list as $key => $item) {if ($wxFinanceSDK->isMedia($item['msgtype'])) {// 下载媒体资源$list[$key]['media_path'] = $wxFinanceSDK->getDownloadMediaData($item[$item['msgtype']], $item['msgtype']);}}var_dump($list);} catch (FinanceSDKException $exception) {echo $exception->getMessage();exit();}}}
http://www.dtcms.com/a/507170.html

相关文章:

  • centos 7.9 编译安装 freeswitch 1.10.12
  • FT32A103RDAT3是什么芯片?车规级32位国产MCU可替代STM32F103RD
  • uni-app从后端返回的富文本中的视频截取一帧为封面
  • 若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
  • Linux 服务器安全巡检与加固:从命令到实操(CentOS/Ubuntu 通用)
  • 网站如何让百度收录官网seo是什么意思
  • STM32U5G9J-DK2开发板获取RAM占用
  • 从架构到运营:AIOps与O-AA™ 如何实现智能化企业运营
  • 徐州手机网站定制公司哪家好西安大型网站制作
  • 【Day 80】Linux-NAS 和 SAN 存储
  • C++可变参数模板
  • Python下载实战技巧的技术文章大纲
  • PostgreSQL高级特性解析:窗口函数与CTE
  • OpenBMC: BmcWeb处理WebScoket2 产生WebSocket对象
  • 构建AI智能体:六十九、Bootstrap采样在大模型评估中的应用:从置信区间到模型稳定性
  • 图论基础:探索节点与关系的复杂网络
  • 免费建网站 建站之星百度指数免费添加
  • python如何写数据到excel示例
  • Spring Cloud - Spring Cloud 注册中心与服务提供者(Spring Cloud Eureka 概述、微服务快速入门、微服务应用实例)
  • 测试经验分享,登录功能+购物车+限时秒杀(测试点)汇总
  • 腾讯云TVP走进美的,共探智能制造新范式
  • OpenAI 的 Sora 2来了:一场创意革命与失控的狂欢
  • 直播预告 | 时序数据赋能核电数字化转型,TDengine 引领创新新范式
  • 动漫网站建设规划书模板广州网站建设策划
  • 使用imapsync增量同步邮件到新邮局服务器
  • iOS 混淆与 IPA 加固全流程,多工具组合实现无源码混淆、源码防护与可审计流水线(iOS 混淆|IPA 加固|无源码加固|App 防反编译)
  • java数据结构--ArrayList与顺序表
  • 【IEEE/EI/Scopus检索】2026年IEEE第七届计算,网络与物联网国际会议(CNIOT 2026)
  • 大数据计算引擎-Hudi对Spark Catalyst 优化器的RBO、CBO做了什么
  • 设计模式之:建造者模式