Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for lark driver #6475

Merged
merged 4 commits into from
May 22, 2024
Merged

Conversation

wintbiit
Copy link
Contributor

@wintbiit wintbiit commented May 20, 2024

添加 飞书云空间 驱动
引入 飞书api sdk
https://open.feishu.cn/document/server-docs/docs/drive-v1/introduction

使用方法:添加企业自建应用,复制AppID, AppSecret

@wintbiit
Copy link
Contributor Author

External view 模式: 打开后复制飞书链接,可跳转到飞书网页预览

@wintbiit
Copy link
Contributor Author

wintbiit commented May 20, 2024

Build failed for i386 and arm/v7 os because of sonic and other int64 issues. Is there a build tag in alist that I can use to include this driver only in x64 and arm64?

@anwen-anyi
Copy link
Contributor

anwen-anyi commented May 21, 2024

  1. Tenant url prefix 填写什么吖?
    image

  2. 飞书云空间 入口在哪儿吖?自建企业了没找到在网页端

  3. 是否需要开启一些API权限


补充


应该得开启这些权限吧?
image

我开启上面权限后通过AList创建一个文件夹后在飞书后台没找到这个文件夹
image

然后在飞书后台创建了一个文件夹和上传了一个文件无法在AList前台显示 哈哈~
image

@xhofe xhofe merged commit 85d743c into AlistGo:main May 22, 2024
3 checks passed
@anwen-anyi
Copy link
Contributor

anwen-anyi commented May 23, 2024

是不是那里不对?没有添加进去? 还是说做了限制~ 使用自动构建的包和我自己编译的都没有这个飞书的驱动? 😹

  • 设备信息 64 位操作系统, 基于 x64 的处理器

自动构建的包

@xhofe
Copy link
Collaborator

xhofe commented May 23, 2024

好像忘记加Windows了

@anwen-anyi
Copy link
Contributor

anwen-anyi commented May 23, 2024

好像忘记加Windows了

只有是 x64或者arm64类型的设备能用吗? Windows/以及Linux , Mac呢 (看到了)

@anwen-anyi
Copy link
Contributor

  1. Tenant url prefix 填写什么吖?
    image
  2. 飞书云空间 入口在哪儿吖?自建企业了没找到在网页端
  3. 是否需要开启一些API权限

填写这个域名或者 前缀都不行,可以告知一下么 😹 属实搞不明白.... @wintbiit
image

@wintbiit
Copy link
Contributor Author

抱歉晚了,,实在没想到这么快就merge了

  1. 权限至少开通 drive:drivedrive:file,即 查看、评论、编辑和管理云空间中所有文件上传、下载文件到云空间
  2. tenant url prefix只在external view mode开启下有用,作用是把复制到的链接替换为飞书的预览链接,相当于用飞书的预览替换alist的预览能力,主要是在用户都是租户内用户且嫌弃带宽低或是希望评论等功能的使用。tenant url prefix填写 https://xxxx.feishu.cn 这样

@anwen-anyi
Copy link
Contributor

抱歉晚了,,实在没想到这么快就merge了

  1. 权限至少开通 drive:drivedrive:file,即 查看、评论、编辑和管理云空间中所有文件上传、下载文件到云空间
  2. tenant url prefix只在external view mode开启下有用,作用是把复制到的链接替换为飞书的预览链接,相当于用飞书的预览替换alist的预览能力,主要是在用户都是租户内用户且嫌弃带宽低或是希望评论等功能的使用。tenant url prefix填写 https://xxxx.feishu.cn 这样

为啥我看不到文件? 😹

image
image
image

@wintbiit
Copy link
Contributor Author

wintbiit commented May 27, 2024

image image

我这里是可以的,你那里没法在自己飞书里看到应该是因为driver使用的是机器人的认证token,也就是说上传到的机器人的云空间,所以在个人的云空间是看不到的(飞书云空间是个人的不是全租户的),所以验证的话可以用飞书的在线api验证
@anwen-anyi

@anwen-anyi
Copy link
Contributor

我这里是可以的,你那里没法在自己飞书里看到应该是因为driver使用的是机器人的认证token,也就是说上传到的机器人的云空间,所以在个人的云空间是看不到的(飞书云空间是个人的不是全租户的),所以验证的话可以用飞书的在线api验证 @anwen-anyi

❤️ 可以说说教程吗~

  • 我的方法就是新建一个企业应用,然后开通权限,发布企业应用版本... 还有其它操作吗

我用的飞书云文档链接是:https://www.feishu.cn/product/drive

@wintbiit
Copy link
Contributor Author

  1. 前往飞书开放平台,创建企业自建应用
  2. 进入权限管理,开启权限drive:drivedrive:file,即 查看、评论、编辑和管理云空间中所有文件 和 上传、下载文件到云空间
  3. 点击创建版本,发布应用
  4. 创建存储复制appId, appSecret到对应栏
  5. 选择模式:若启用External View Mode,则需关闭Web代理,填写Tenant Url Prefix,alist内不可预览,可复制链接后跳转到飞书预览地址;若关闭External View Mode,则需开启Web代理,alist内可预览

@anwen-anyi
Copy link
Contributor

  1. 前往飞书开放平台,创建企业自建应用
  2. 进入权限管理,开启权限drive:drivedrive:file,即 查看、评论、编辑和管理云空间中所有文件 和 上传、下载文件到云空间
  3. 点击创建版本,发布应用
  4. 创建存储复制appId, appSecret到对应栏
  5. 选择模式:若启用External View Mode,则需关闭Web代理,填写Tenant Url Prefix,alist内不可预览,可复制链接后跳转到飞书预览地址;若关闭External View Mode,则需开启Web代理,alist内可预览

对流程完全一致... 😹 就是不显示文件,开启权限后我创建文件,也看不到我新建的文件去哪儿了..

这个没看太懂.

你那里没法在自己飞书里看到应该是因为driver使用的是机器人的认证token,也就是说上传到的机器人的云空间,所以在个人的云空间是看不到的(飞书云空间是个人的不是全租户的),所以验证的话可以用飞书的在线api验证

@wintbiit
Copy link
Contributor Author

  1. 前往飞书开放平台,创建企业自建应用
  2. 进入权限管理,开启权限drive:drivedrive:file,即 查看、评论、编辑和管理云空间中所有文件 和 上传、下载文件到云空间
  3. 点击创建版本,发布应用
  4. 创建存储复制appId, appSecret到对应栏
  5. 选择模式:若启用External View Mode,则需关闭Web代理,填写Tenant Url Prefix,alist内不可预览,可复制链接后跳转到飞书预览地址;若关闭External View Mode,则需开启Web代理,alist内可预览

对流程完全一致... 😹 就是不显示文件,开启权限后我创建文件,也看不到我新建的文件去哪儿了..

这个没看太懂.

你那里没法在自己飞书里看到应该是因为driver使用的是机器人的认证token,也就是说上传到的机器人的云空间,所以在个人的云空间是看不到的(飞书云空间是个人的不是全租户的),所以验证的话可以用飞书的在线api验证

是显示空还是显示有一个无名称的文件嘞,,后者的话好像是alist缓存的问题,重启下后端试试。前者我好像没有触发😂

@anwen-anyi
Copy link
Contributor

anwen-anyi commented May 28, 2024

是什么也显示不出来,刷新也不行,重启AList也一样,私下试过很多次了

诺 我操作流程,暂时不填Tenant Url Prefix也没问题吧?用不到暂时
视频可能需要下载观看(QQ压缩有问题无法在线观看)

feishu.mp4

以下是我在云空间的文件~
image

@wintbiit
Copy link
Contributor Author

wintbiit commented May 28, 2024

是什么也显示不出来,刷新也不行,重启AList也一样,私下试过很多次了

诺 我操作流程,暂时不填Tenant Url Prefix也没问题吧?用不到暂时
视频可能需要下载观看(QQ压缩有问题无法在线观看)

feishu.mp4

以下是我在云空间的文件~
image

奥是这样的,飞书的云空间访问是个人的不是全租户的,所以自己上传访问到的是用户个人的云空间,自建应用访问的是应用的云空间,因此alist挂载应用云空间后是看不到用户云空间的文件的。但是试试在alist里往挂载目录下上传文件后,是可以正常刷新显示出来的,也可以用飞书的api https://open.feishu.cn/document/server-docs/docs/drive-v1/folder/list 验证到存放进了应用的云空间

@wintbiit
Copy link
Contributor Author

目前driver的设计是使用应用的tenant access token调用飞书api,因此看不到用户的云空间。要使用用户云空间的话可以改成使用user access token的设计

参考https://open.feishu.cn/document/server-docs/api-call-guide/calling-process/get-access-token#5aa2e490

@anwen-anyi
Copy link
Contributor

anwen-anyi commented May 28, 2024

有点儿乱...哈哈,我已经懵逼了(也就是说目前只能通过AList来操作上传文件? 暂时不支持直接从飞书云空间上传显示到AList)
创建文件夹倒是可以,但是一使用上传文件就提示错误了....就几十MB的文件..
image

@wintbiit
Copy link
Contributor Author

有点儿乱...哈哈,我已经懵逼了(也就是说目前只能通过AList来操作上传文件? 暂时不支持直接从飞书云空间上传显示到AList) 创建文件夹倒是可以,但是一使用上传文件就提示错误了....就几十MB的文件.. image

可能是基础版超过20MB了,参考 https://www.feishu.cn/hc/zh-CN/articles/360049067549-%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E5%92%8C%E5%9C%A8%E7%BA%BF%E9%A2%84%E8%A7%88%E7%9A%84%E5%A4%A7%E5%B0%8F%E9%99%90%E5%88%B6%E6%98%AF%E5%A4%9A%E5%B0%91

@anwen-anyi
Copy link
Contributor

是这样的 还没认证,我已经懵逼了 或许这个 飞书的文档得麻烦大佬来PR一下了

@rong6
Copy link

rong6 commented Sep 8, 2024

可以支持一下国际版的吗,API应该差不多:https://www.larksuite.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants