feishu-doc-export
一個(gè)支持Windows、Mac、Linux系統(tǒng)的飛書(shū)文檔一鍵導(dǎo)出服務(wù),僅需一行命令即可將飛書(shū)知識(shí)庫(kù)的全部文檔同步到本地電腦。支持導(dǎo)出markdown
,docx
,pdf
三種格式。導(dǎo)出速度嘎嘎快,實(shí)測(cè)700多個(gè)文檔導(dǎo)出只需25分鐘,且程序是后臺(tái)掛機(jī)運(yùn)行,不影響正常工作。查看最新更新
動(dòng)機(jī)
最近也是公司辦公軟件從飛書(shū)切換回了企業(yè)微信,自然就產(chǎn)生了一些文檔要遷移的問(wèn)題,由于文檔量過(guò)多(大概有700多個(gè)),無(wú)論是從飛書(shū)手動(dòng)下載為Word或PDF格式的文檔,還是將內(nèi)容復(fù)制到本地新建Markdown文件都是一件極為繁瑣的事情。于是便找到了兩個(gè)GitHub上已有的飛書(shū)文檔導(dǎo)出工具Feishu2MD
和feishu-backup
,但是他們都有一些問(wèn)題不太滿足我的需求。
現(xiàn)有方案的不滿足
feishu-backup:
官方地址:dicarne/feishu-backup: 用于備份飛書(shū)文檔,可以將飛書(shū)文檔轉(zhuǎn)成markdown下載。 (github.com)
-
因?yàn)樗蔷W(wǎng)頁(yè)版,下載速度太慢。有一次使用線上版選擇了其中一個(gè)飛書(shū)文檔節(jié)點(diǎn)下的所有文檔(大概200-300個(gè)),下載了1個(gè)多小時(shí)還沒(méi)有好,可能是卡死了。
-
因?yàn)樗南螺d方式是把選擇的全部文檔打包成壓縮包后才會(huì)在瀏覽器返回給你,如果這個(gè)等待的過(guò)程中途斷網(wǎng)或者電腦卡頓要重啟,那你就白等那么長(zhǎng)時(shí)間了。
-
因?yàn)樗恢С窒螺d表格類型的文檔。
feishu2md:
官方地址:Wsine/feishu2md: 一鍵命令下載飛書(shū)文檔為 Markdown (github.com)
我雖然沒(méi)用實(shí)際使用過(guò)它,但我閱讀它的官方文檔后發(fā)現(xiàn)它的核心問(wèn)題是一次只能下載一個(gè)文檔。
我的需求
- 一次導(dǎo)出知識(shí)庫(kù)下的所有文檔,包含文檔和表格
- 導(dǎo)出的文檔目錄結(jié)構(gòu)保持和原飛書(shū)文檔一致
- 導(dǎo)出速度不要太慢
- 對(duì)于文檔導(dǎo)出的格式?jīng)]有要求,
docx
和xlsx
即可
基于以上的種種原因呢,我決定自己動(dòng)手寫一個(gè)滿足自己需求的程序來(lái)解決這個(gè)問(wèn)題。這里我使用的是支持跨平臺(tái)的.net core進(jìn)行開(kāi)發(fā),最終打包程序可支持在windows
、linux
、mac
系統(tǒng)上運(yùn)行。這里將不贅述具體的實(shí)現(xiàn)過(guò)程,直接展示最終的效果圖吧。
如何使用
獲取AppId和AppSecret
- 進(jìn)入飛書(shū)開(kāi)發(fā)者后臺(tái),創(chuàng)建企業(yè)自建應(yīng)用,信息隨意填寫。進(jìn)入應(yīng)用的后臺(tái)管理頁(yè)
- (重要)打開(kāi)權(quán)限管理,開(kāi)通需要的權(quán)限:云文檔>開(kāi)通以下權(quán)限(注意有分頁(yè))
- 查看新版文檔
- 查看、評(píng)論和下載云空間中所有文件
- 查看、評(píng)論和導(dǎo)出文檔
- 查看、評(píng)論、編輯和管理云空間中所有文件
- 查看、評(píng)論、編輯和管理多維表格
- 查看、編輯和管理知識(shí)庫(kù)
- 查看、評(píng)論、編輯和管理電子表格
- 導(dǎo)出云文檔
- 打開(kāi)添加應(yīng)用能力,添加機(jī)器人
- 版本管理與發(fā)布中創(chuàng)建一個(gè)版本,并申請(qǐng)發(fā)布上線
- 等待企業(yè)管理員審核通過(guò)
- 如果只是為了測(cè)試,可以選擇測(cè)試企業(yè)和人員,創(chuàng)建測(cè)試企業(yè),綁定應(yīng)用,切換至測(cè)試版本
- 進(jìn)入測(cè)試企業(yè)創(chuàng)建知識(shí)庫(kù)和文檔
- 為機(jī)器人添加知識(shí)庫(kù)的訪問(wèn)權(quán)限,具體步驟如下:
- 在飛書(shū)桌面客戶端中創(chuàng)建一個(gè)新的群組或直接使用已有的群組
- 為群組添加群機(jī)器人,選擇上面步驟中自己創(chuàng)建的應(yīng)用作為群機(jī)器人
- 打開(kāi)知識(shí)庫(kù),如果你是知識(shí)庫(kù)管理員,則可以看見(jiàn)知識(shí)空間設(shè)置。打開(kāi)知識(shí)空間設(shè)置>成員管理>添加管理員,選擇剛剛建立的群組
- 回到開(kāi)發(fā)者平臺(tái),打開(kāi)憑證與基礎(chǔ)信息,獲取
App ID
和App Secret
下載程序
下載地址:(Releases)feishu-doc-export,請(qǐng)選擇最新版本下載
-
windows-x64系統(tǒng),下載
feishu-doc-export-win-x64.zip
-
mac-osx-x64系統(tǒng),下載
feishu-doc-export-mac-osx-x64.zip
-
linux-x64系統(tǒng),下載
feishu-doc-export-linux-x64.zip
下載并解壓即可得到程序可執(zhí)行文件,windows環(huán)境的可執(zhí)行文件為feishu-doc-export.exe
,linux
和mac
環(huán)境的可執(zhí)行文件為feishu-doc-export
沒(méi)有后綴。
命令行執(zhí)行
在可執(zhí)行文件的目錄打開(kāi)終端,命令行所有參數(shù)如下:
請(qǐng)?zhí)顚懸韵滤袇?shù):
--appId 飛書(shū)自建應(yīng)用的AppId.
--appSecret 飛書(shū)自建應(yīng)用的AppSecret.
--spaceId 飛書(shū)導(dǎo)出的知識(shí)庫(kù)Id(可為空,或者不傳此參數(shù)).
--exportPath 文檔導(dǎo)出的目錄位置.
-
win環(huán)境
# 指定知識(shí)庫(kù)導(dǎo)出 ./feishu-doc-export.exe --appId=111111 --appSecret=2222222 --spaceId=333333 --exportPath=E:\temp\測(cè)試飛書(shū)文檔 # 不指定知識(shí)庫(kù)導(dǎo)出 ./feishu-doc-export.exe --appId=111111 --appSecret=222222 --exportPath=E:\temp\測(cè)試飛書(shū)文檔
-
linux環(huán)境和mac環(huán)境
注意?。?!首次使用時(shí)需要將文件授權(quán)為可執(zhí)行文件
# 將文件授權(quán)為可執(zhí)行文件 sudo chmod +x ./feishu-doc-export
執(zhí)行時(shí)最好使用
sudo
,否則可能出現(xiàn)權(quán)限不足,導(dǎo)致在保存文檔時(shí)無(wú)法創(chuàng)建文件目錄# 執(zhí)行不指定知識(shí)庫(kù)的導(dǎo)出 sudo ./feishu-doc-export --appId=111111 --appSecret=222222 --exportPath=/home/ubuntu/feishu-document
執(zhí)行效果圖如下:
逐步執(zhí)行
-
第一步,(win,mac)雙擊運(yùn)行程序,輸入飛書(shū)自建應(yīng)用的配置,并輸入文檔要導(dǎo)出的目錄位置。
mac
和linux
仍需執(zhí)行命令sudo chmod +x ./feishu-doc-export
來(lái)將文件設(shè)置為可執(zhí)行文件。mac
可能會(huì)出現(xiàn)不受信任的執(zhí)行程序,需要手動(dòng)覆蓋“隱私與安全性”設(shè)置中的設(shè)置。linux
則只能通過(guò)命令行輸入.\feishu-doc-export
而不帶參數(shù)的方式執(zhí)行 -
第二步,選擇知識(shí)庫(kù)后自動(dòng)導(dǎo)出
-
第三步,對(duì)比飛書(shū)原文檔的目錄結(jié)構(gòu)
耗時(shí)測(cè)試
700多個(gè)文件導(dǎo)出到本地總耗時(shí)25分鐘
總結(jié)
自己動(dòng)手,豐衣足食,有趣且實(shí)用。不過(guò)目前我的方案不支持的功能有以下幾點(diǎn),以后有空了再增強(qiáng)
- 不支持將文檔導(dǎo)出為
Markdown
格式 - 不支持單獨(dú)導(dǎo)出一個(gè)文檔
- 不支持單獨(dú)導(dǎo)出某個(gè)子節(jié)點(diǎn)下的所有文檔
所以呢,目前我寫的這個(gè)程序只適用于不要求將文檔導(dǎo)出為Markdown
的群體使用。
開(kāi)源地址
https://github.com/xhnbzdl/feishu-doc-export
更新日志
2023-7-15發(fā)布feishu-doc-export-v 0.0.3
-
這個(gè)版本新增了兩種格式的導(dǎo)出,可支持將飛書(shū)文檔導(dǎo)出為
markdown
和pdf
,加上原有支持的docx
一共是三種格式。 -
新增了命令行參數(shù)
--saveType
,文檔保存的格式類型,可選值有md
,pdf
,docx
,如果參數(shù)不傳,或值為空,或值為不存在的格式,則默認(rèn)導(dǎo)出為docx
。使用方式如下:# win 不指定知識(shí)庫(kù) 將文檔保存為markdown文檔 ./feishu-doc-export.exe --appId=xxx --appSecret=xxx --saveType=md --exportPath=E:\temp\test # mac 不指定知識(shí)庫(kù) 將文檔保存為pdf sudo ./feishu-doc-export --appId=xxx --appSecret=xxx --exportPath=/home/feishu-document --saveType=pdf # linux 不指定知識(shí)庫(kù) 將文檔保存為docx sudo ./feishu-doc-export --appId=xxx --appSecret=xxx --exportPath=/home/feishu-document sudo ./feishu-doc-export --appId=xxx --appSecret=xxx --exportPath=/home/feishu-document --saveType= sudo ./feishu-doc-export --appId=xxx --appSecret=xxx --exportPath=/home/feishu-document --saveType=docx sudo ./feishu-doc-export --appId=xxx --appSecret=xxx --exportPath=/home/feishu-document --saveType=abcdefg
-
耗時(shí)測(cè)試
- 導(dǎo)出為
docx
最快 - 導(dǎo)出為
markdown
和docx
的速度差不多 - 導(dǎo)出為
pdf
速度最慢,因?yàn)?code>pdf的圖片是內(nèi)嵌的 - 實(shí)際速度與網(wǎng)速和飛書(shū)服務(wù)器響應(yīng),電腦磁盤寫入速度都有關(guān)系
- 導(dǎo)出為
-
注意事項(xiàng):
-
文檔導(dǎo)出為
markdown
時(shí),存在文檔格式丟失的問(wèn)題,原因是因?yàn)槲业膶?shí)現(xiàn)方式是利用飛書(shū)自提供的接口先將文檔下載為docx
,然后再將docx
轉(zhuǎn)為markdown
,文檔下載為docx
后就已經(jīng)存在格式丟失的問(wèn)題了,所以不能很好的轉(zhuǎn)換為markdown
。而上面提到的兩個(gè)開(kāi)源庫(kù)都是自己做的處理,它們都是直接將飛書(shū)原始數(shù)據(jù)轉(zhuǎn)換為markdown
語(yǔ)法的。feishu-backup
是作者自己對(duì)飛書(shū)原始數(shù)據(jù)做的轉(zhuǎn)換(牛逼),feishu2md
則是用了一個(gè)針對(duì)飛書(shū)數(shù)據(jù)轉(zhuǎn)換的庫(kù)。 -
feishu-doc-export
目前已發(fā)現(xiàn)docx
轉(zhuǎn)為markdown
丟失的格式有:引用語(yǔ)法、表格、行內(nèi)代碼塊 -
對(duì)于飛書(shū)文檔中引用的其他文檔,如果引用的文檔是當(dāng)前知識(shí)庫(kù)的文檔,則該文檔下載到本地后會(huì)以相對(duì)路徑引用另一個(gè)文檔,因?yàn)榱硪粋€(gè)文檔也會(huì)下載到本地。
如果引用的文檔是其他知識(shí)庫(kù)或者是外鏈,則當(dāng)前文檔下載后還是以原文方式引用。
-
-
導(dǎo)出的效果圖展示文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-526555.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-526555.html
2023-9-22發(fā)布feishu-doc-export-v 0.0.4
- 支持下載知識(shí)庫(kù)中的文件,如:
pdf
、圖片等 - 優(yōu)化程序異常情況,保證下載過(guò)程中不中斷
到了這里,關(guān)于基于.Net Core實(shí)現(xiàn)的飛書(shū)所有文檔一鍵導(dǎo)出服務(wù)(支持多系統(tǒng))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!