找回密码
 立即注册

QQ登录

只需一步,快速开始

xiaoQ

注册会员

1

主题

2

帖子

61

积分

注册会员

积分
61
  • 866

    金币

  • 1

    主题

  • 2

    帖子

最新发帖
xiaoQ
注册会员   /  发表于:2024-5-30 21:32  /   查看:300  /  回复:1
官方目前没有现成的飞书上传插件,http插件也不支持文件上传。采用这种方案可以实现文件上传获取file_key,用于发消息等功能。
思路来源于帖子https://gcdn.grapecity.com.cn/showtopic-163240-1-1.html的回复。
对实际操作细节的进一步完善补充。
主要使用工具:发送HTTP请求命令,设置变量命令,cURL, 文件操作:保存内容到文件,程序调用命令,文件转base64,base64加密解密命令,json返序列化(选用)
cURL下载链接https://curl.se/windows/
使用版本
image.png514667968.png
下载后要配置好系统环境变量,以便于运行curl命令。可参考帖子https://blog.csdn.net/michaelwoshi/article/details/115386889
飞书开放平台cURL示例代码:
image.png362760009.png
window环境下要修改一下,文件名等的双引号(")去除,单引号(')改为双引号("),修改后命令如下:
curl --location --request POST "https://open.feishu.cn/open-apis/im/v1/files" --header "Authorization: Bearer t-39eec8560faa3dded7971873eb649fd40e70e0f1" --form "file_type=mp4" --form "file_name=测试视频.mp4" --form "duration=3000" --form "file=@/path/测试视频.mp4" >D:\api_return_code.txt


A.file_type属性根据网站说明写,有如下选项:opus,mp4,pdf,doc,xls,ppt,stream.
B.duration仅音频和视频填写,其它的file_type删除该选项。
C.末尾的 >D:\api_return_code.txt 用于保存返回信息(可根据个人需求写保存位置)
image.png163509215.png
注意事项:针对cURL命令中有中文时需做如下调整!
A.cURL命令中如果有中文会导致执行bat文件乱码无法执行,需要设置注册表
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
autorun 数值 chcp 65001(没有新建字符串值)
image.png117374877.png
B.window设置区域设置,不设置如果用飞书API发消息会无法显示
image.png546632689.png
下面是具体操作流程:
1.发送HTTP请求命令,调用API获取 tenant_access_token 拼接头文件需要加前缀[backcolor=rgba(51, 112, 255, 0.12)]Bearer[backcolor=rgba(51, 112, 255, 0.12)]
2.通过字符串拼接的方式拼接出来cURL命令;
3.使用"保存内容到文件"将命令保存到本地的bat文件内(新内容会覆盖旧命令,无需清空);
4.程序调用命令调用bat文件(返回信息保存在文件→ D:\api_return_code.txt);
5.文件转base64 配和base64解码读取文件内容(api_return_code.txt)新内容会覆盖旧命令,无需清空;
6.json返序列化快速获取file_key的值,用于其它API的使用。(也可以用对象操作命令去获取,略微麻烦一点)
通过上述方法可实现上传文件功能
注:理论上改思路可以应用在所有支持cURL的API。有点曲折麻烦了一点,但对代码要求不高。
催:等官方一个插件,等官方一个插件等官方一个插件等官方一个插件

评分

参与人数 2金币 +732 收起 理由
Lay.Li + 666 赞一个!
Nathan.guo + 66 很给力!

查看全部评分

1 个回复

倒序浏览
137294886
金牌服务用户   /  发表于:2024-6-7 21:00:21
沙发
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部