当前位置: 首页 > 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/a/233882.html

相关文章:

  • 软件测试面试题(800道)【附带答案】持续更新...
  • 少儿学习Scratch编程的好处和坏处
  • aws(学习笔记第十二课) 使用AWS的RDS-MySQL
  • 前端 JS面向对象 原型 prototype
  • 监控录音如何消除杂音?降低录音噪音的五个技巧
  • 智能零售柜商品识别
  • 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\免费获取)