飞书开发流程

news2024/12/24 2:42:03

1、进入飞书并创建一个应用

链接: 创建应用
创建应用成功后需要审核通过,如果你拥有管理权限则可以自己进入管理后台通过审核,否则需要联系管理员通过审核

2、进入开发者后台

链接: 发者后台

3、在该调试平台上测试

以这个订阅审批事件为例
在这里插入图片描述
这一步比较关键的参数不太清楚可以使用下方链接查看获取方式
需要的参数
1、appId
2、appSecret
3、userId
4、approval_code

链接: 如何获取 App ID 和 App Secret ,该参数用于获取访问令牌
如果没有权限查看,可以联系管理员获取

链接: 如何获得 User ID、Open ID 和 Union ID?

如何获取 approval_code?
进入添加审批流程页面
可以在审批创建页面 点击进入编辑 approval_code 就是 下边路径中的 definitionCode 的值
XXX-YYY-ZZZ
https://www.feishu.cn/approval/admin/createApproval?
id=7221064099756015644&devMode=on&definitionCode=XXX-YYY-ZZZ

4、在本地添加飞书的SDK坐标

运行环境:JDK 1.8及以上

最新版本 maven 坐标

		<!--飞书SDK-->
        <dependency>
            <groupId>com.larksuite.oapi</groupId>
            <artifactId>oapi-sdk</artifactId>
            <version>2.0.18</version>
        </dependency>

如无法获取oapi-sdk依赖,请在 pom.xml 的 里增加

<project>
    <repositories>
        <repository>
            <id>Central Repository</id>
            <url>https://repo1.maven.org/maven2/</url>
        </repository>
    </repositories>
    <dependencies>
        ...
    </dependencies>
</project>   

5、复制第3步调试成功的实例代码到本地

请求调试成功后可以直接复制下边的实例代码,然后粘贴到本地,我使用的是飞书提供的SDK,用起来比较方便

6、实例代码

	public static final String APP_ID = "你的APPID";
    public static final String APP_SECRET = "你的APPSECRET";
    public static final String USER_ID = "你的USERID";

/**
     * 获取访问令牌
     *
     * @return
     */
    public static String getAuthenAccesstoken() {

        // 构建client
        Client client = Client.newBuilder(APP_ID, APP_SECRET)
                .appType(AppType.SELF_BUILT) // 设置app类型,默认为自建
                .logReqAtDebug(true)
                .build();

        // 发起请求
        TenantAccessTokenResp resp = null;
        try {
            resp = client.ext().getTenantAccessTokenBySelfBuiltApp(
                    SelfBuiltTenantAccessTokenReq.newBuilder()
                            .appSecret(APP_SECRET)
                            .appId(APP_ID)
                            .build());
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

        return resp.getTenantAccessToken();
    }

7、个人总结

飞书的SDK支持飞书大部分接口的调用,有些还是需要自己构造请求,对于使用OpenFeign来构造请求飞书的接口可能会报错,我遇到过几个,最后改用RestTemplate来构造请求解决,也可以使用okhttp
飞书实例默认提供的实例就包含了SDK请求与OKhttp请求
在这里插入图片描述

参考地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DHCP协议简单配置

实验原理 网络中主机需要与外界进行通信时,需要配置自己的IP地址、网关地址、DNS服务器等网络参数信息。手工在每台主机上配置维护成本高,容易出错,而且不利于管理员统一维护。 通过DHCP地址自动配置协议,使终端设备能自动获取地址,实现即插即用且IP地址统一由服务器管理…

springboot+java充电桩充电额维修管理系统

项目介绍 Spring Boot 是 Spring 家族中的一个全新的框架&#xff0c;它用来简化Spring应用程序的创建和开发过程。也可以说 Spring Boot 能简化我们之前采用SSM&#xff08;Spring MVC Spring MyBatis &#xff09;框架进行开发的过程。 系统基于B/S即所谓浏览器/服务器模式…

STM32 学习笔记_9 定时器中断:编码器接口模式

TIM编码器接口 之前我们处理旋转编码器&#xff0c;是转一下中断一次&#xff0c;挺消耗资源的。 我们可以利用TIM的编码器功能&#xff0c;隔一段时间取一下旋转器值使得cnt或–&#xff0c;以此判断旋转位置以及计算速度&#xff0c;相比中断节约资源。相当于外接了一个有方…

Kubernetes那点事儿——暴露服务之Service

Kubernetes那点事儿——暴露服务之Service 前言一、Service二、Service与Pod关系三、Service常用类型ClusterIPNodePortLoadBalancer 四、Service代理模式IptablesIPVS修改代理模式 前言 K8s中&#xff0c;我们将应用跑在Pod里。多数情况下是一组Pod&#xff0c;用户如何访问这…

凌恩生物美文分享 | 提升科研有一套 | 宏基因组磷循环分析又出新!

磷是包括微生物在内的所有生命体中不可缺少的元素。在生物大分子核酸、高能量化合物ATP、以及生物体内糖代谢的某些中间体中&#xff0c;都有磷的存在。在自然界中&#xff0c;磷的循环包括可溶性无机磷的同化、有机磷的矿化、不溶性磷的溶解等。微生物分解含磷化合物的作用&am…

操作系统面试相关知识

目录 一、简介1、什么是操作系统2、操作系统主要有哪些功能&#xff1f; 二、操作系统结构1、什么是内核&#xff1f;2、什么是用户态和内核态&#xff1f;3、 用户态和内核态是如何切换的&#xff1f; 三、 进程和线程1、并行和并发有什么区别&#xff1f;2、什么是进程上下文…

无线传感器网络的时钟同步估计问题(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 随着无线传感器网络的快速发展,其应用领域也越来越广。在诸多的应用环境中都需要大量已同步的传感器节点通过协同作用执行一个…

Python 中IndexError: list assignment index out of range 错误解决

文章目录 Python IndexError&#xff1a;列表分配索引超出范围修复 Python 中的 IndexError: list assignment index out of range修复 IndexError: list assignment index out of range 使用 append() 函数修复 IndexError: list assignment index out of range 使用 insert()…

怎么把文本翻译成英文?安利三个文本翻译方法

在当今全球化的时代&#xff0c;跨国交流和合作已经成为常态。然而&#xff0c;不同语言之间的沟通障碍经常阻碍着信息传递和理解。为了帮助我们更好地进行国际交流&#xff0c;文本翻译英文软件应运而生。这类软件能够将各种语言的文本迅速准确地翻译成英文&#xff0c;使我们…

【起飞】让你电脑速度快到飞起的一些牛逼的设置整理【电脑卡顿反应慢等问题解决】

对于开发来说电脑的反应速度简直影响了思维的速度&#xff0c;要让电脑速度跟上我们的思维&#xff0c;提高工作效率&#xff0c;早点打卡下班回家陪老婆孩子哈哈 这篇文章主要对windows系统做的一些优化&#xff0c;是真的好用&#xff0c;仿佛在访问静态页面一样&#xff0c;…

超实用!年薪40W的项目经理都在用的6个项目管理软件

项目管理软件是帮助团队进行项目计划、任务分配、进度跟踪和团队协作等方面的工具&#xff0c;已经成为了项目经理必不可少的工具之一。 市面上的项目管理软件有很多&#xff0c;这就来分享一下几款我认为好用的项目管理软件&#xff01; 一、六款好用的项目管理软件 1.简道…

C++开发工具 VTK技术实现三维重建CT医学影像PACS系统

一、信息管理 1、支持对患者、检查项目、申请医生、申请单据、设备等信息进行管理&#xff1b; 2、支持检查病人排队管理功能&#xff1b; 3、支持大屏幕队列显示和语音呼叫&#xff1b; 4、提供预约调整、插队管理和掉队处理等功能&#xff1b; 5、支持急诊申请优先安排。…

美股股指期货重要吗?要注意哪些风险?

美股股指期货是一种以美股股票价格指数作为标的物的金融期货合约。美股股指期货的表现对全球股指市场都有重要的影响力&#xff0c;具体体现在以下方面。 美股股指期货成为全球股指市场风向标 自20世纪70年代起&#xff0c;美国芝加哥商品交易所&#xff08;CME&#xff09;推…

Metasploit基础和实操-渗透测试察打一体(7)

Metasploit 基础包含专业术语,Metasploit 接口介绍,Metasploit 功能介绍 这些是弄渗透测试必须要了解的基础知识,也是0开始玩渗透测试和渗透开发的准备之一。 metasploit命令演示的环境搭建可以参考:https://luozhonghua.blog.csdn.net/article/details/123549917 作者用…

2023.05.14-微调ResNet参加kaggle上猫狗大战比赛打到99%的分类准确率_convert

文章目录 1. 前言2. 下载数据集3. 比赛成绩排名 4. baseline 5. 尝试5.1. 数据归一化&#xff08;98.994%&#xff09;5.2. 使用AdamW优化器&#xff08;98.63%&#xff09;5.3. 使用AdamW优化器SegNet模块&#xff08;95.05%&#xff09; 6. 结语7. 感慨 8. 代码8.1. ResNetNo…

贝尔曼福特算法——负权值单源最短路径

title: 贝尔曼福特算法——负权值单源最短路径 date: 2023-05-16 11:42:26 tags: 数据结构与算法 贝尔曼福特算法——负权值单源最短路径 **问题&#xff1a;**具有负权值非环图的单源最短路径算法 git地址&#xff1a;https://github.com/944613709/HIT-Data-Structures-and-A…

阿里云备案服务码怎么申请?

阿里云备案服务码是什么&#xff1f;ICP备案服务码怎么获取&#xff1f;阿里云备案服务码分为免费和付费两种&#xff0c;申请备案服务码是有限制条件的&#xff0c;需要你的阿里云账号下有可用于申请备案服务码的云产品&#xff0c;如云服务器、建站产品、虚拟主机等&#xff…

基于Sentinel自研组件的系统限流、降级、负载保护最佳实践探索 | 京东云技术团队

作者&#xff1a;京东物流 杨建民 一、Sentinel简介 Sentinel 以流量为切入点&#xff0c;从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景&#xff1a;秒杀&#xff08;即突发流量控制在系统容量可以承受的范围&a…

【Android Studio】win10 创建并运行第一个App Hello world 超详细

概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径&#xff0c;学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 一、开发环境 开发环境&#xff1a;windows10Android Studio 版本 Android Studio Flamingo | 2022…

SwiftUI 布局协议 - Part1

文章目录 简介什么是布局协议视图层次结构的族动态我们的第一个布局实现ProposedViewSizeLayoutSubviewsizeThatFits 方法placeSubviews 方法 容器对齐优先布局LayoutValueKey默认间距布局属性和 Spacer()布局缓存高明的伪装者使用 AnyLayout 切换布局结语 简介 今年 SwiftUI …