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

飞书上传图片

飞书上传图片

  • 1. 概述
    • 1.1 访问凭证
  • 2. 上传图片获取image_key

1. 概述

飞书开发文档上传图片: https://open.feishu.cn/document/server-docs/im-v1/image/create

上传图片接口,支持上传 JPEG、PNG、WEBP、GIF、TIFF、BMP、ICO格式图片。

在这里插入图片描述
在请求头上需要获取token(访问凭证)
在这里插入图片描述

1.1 访问凭证

在1中可以看到,上传需要二进制文件与token(tenant_access_token)

如何获取token 相关文档 https://open.feishu.cn/document/server-docs/api-call-guide/calling-process/get-access-token

在这里插入图片描述
在这里插入图片描述
在上图看到需要机器人的AppId与 AppSecret,然后按照文档https://open.feishu.cn/document/server-docs/authentication-management/access-token/tenant_access_token_internal中的描述,通过POST请求方式获取。
在这里插入图片描述

在这里插入图片描述
最后返回的结果如下:

{
   
    "code": 0,
    "msg": "ok",
    "tenant_access_token": "t-caecc734c2e3328a62489fe0648c4b98779515d3",
    "expire": 7200     // 单位为秒
}

当然,有了有效期我们就可以把token放入redis。
redis的key可以通过

String key = DigestUtils.md5Hex(AppId + AppSecret);


DigestUtils 是 org.apache.commons.codec.digest;包下的

import org.apache.commons.codec.digest.DigestUtils;
System.out.println(DigestUtils.md5Hex("123"));
System.out.println(DigestUtils.md5Hex("123"));
通过DigestUtils.md5Hex 相同的data获取的值是一样的

在这里插入图片描述

DigestUtils.md5Hex() 是 Apache Commons Codec 库中的一个方法,用于计算字符串的 MD5 散列值并以十六进制字符串的形式返回结果。它的工作原理是将输入字符串转换为字节数组,然后使用 Java 的 MessageDigest 类来计算 MD5 散列值。最后,将计算得到的字节数组转换为十六进制字符串表示。

	// Redis的缓存设定

	private static String accessTokenKey = "feishu:token:{key}";

    @Autowired
    private RedisTemplateSupport redisTemplateSupport;

    /**
     * 缓存飞书访问凭证Token
     *
     * @param token  String
     * @param key
     * @param expire
     */
    public void cacheToken(String key, String token, Integer expire) {
   
        key = accessTokenKey.replace("{key}", key);

        redisTemplateSupport.set(key, token, expire - 2, TimeUnit.SECONDS);
    }

    /**
     * 获取token
     *
     * @param key
     * @return
     */
 

http://www.kler.cn/news/233882.html

相关文章:

  • FPS游戏框架漫谈第二十天
  • 【大厂AI课学习笔记】【1.5 AI技术领域】(10)对话系统
  • C++ 位运算
  • Github 2024-02-06 开源项目日报Top9
  • 波奇学Linux:文件重定向和虚拟文件系统
  • 2024年 前端JavaScript入门到精通 第一天
  • 2-8 单链表+双链表+模拟栈+模拟队列
  • [Angular 基础] - 指令(directives)
  • Go语言每日一题——链表篇(七)
  • ANSI Escape Sequence 下落的方块
  • Stable Diffusion 模型下载:ToonYou(平涂卡通)
  • python实现k路归并排序
  • 在gtkmm4 中检索子控件 (children)
  • 人工智能|深度学习——使用多层级注意力机制和keras实现问题分类
  • 70.SpringMVC怎么和AJAX相互调用的?
  • 【c++】c++入门(上)
  • 〖大前端 - ES6篇②〗- let和const
  • 11.2 OpenGL可编程顶点处理:细分着色器
  • webgis后端安卓系统部署攻略
  • 【数据分享】1929-2023年全球站点的逐月平均降水量(Shp\Excel\免费获取)
  • 数据结构红黑树
  • 分布式搜索引擎 elasticsearch
  • MySQL-视图(VIEW)
  • 基于Chrome插件的Chatgpt对话无损导出markdown格式(Typora完美显示)
  • 【数据结构】双向链表(链表实现+测试+原码)
  • 练习:鼠标类设计之1_类内容解析
  • JVM-双亲委派机制
  • 一步步建立一个C#项目(连续读取S7-1200PLC数据)
  • 监控概述、安装zabbix、配置zabbixagent、添加被控端主机、常用监控指标、自定义监控项
  • 2024年华为OD机试真题-密码解密-Java-OD统一考试(C卷)