這是一個下載飛書文檔為Markdown 檔案的工具,使用Go 語言實作。
請看這裡:招募有需求和有興趣的開發者,共同探討開發維護,有興趣請聯絡。
《一日一技| 我開發的這款小工具,輕鬆助你將飛書文檔轉為Markdown》
配置檔案需要填寫APP ID 和APP SECRET 信息,請參考飛書官方文件獲取。推薦設定為
進入飛書開發者後台
創建企業自建應用程式(個人版),資訊隨意填寫
(重要)開啟權限管理,開啟下列必要的權限(可點選以下連結參考API 偵錯台->權限配置欄位)
取得文件基本訊息,「檢視新版文件」權限docx:document:readonly
取得文件所有區塊,「檢視新版文件」權限docx:document:readonly
下載素材,「下載雲端文件中的圖片和配件」權限docs:document.media:download
取得資料夾中的檔案清單,「檢視、評論、編輯和管理雲端空間中所有檔案」權限drive:file:readonly
取得知識空間節點信息,「查看知識庫」權限wiki:wiki:readonly
開啟憑證與基礎訊息,取得App ID 和App Secret
注意:飛書舊版文件的下載工具已決定不再維護,但分支v1_support 仍可使用,對應的歸檔為v1.4.0,請知悉。
借助Go 語言跨平台的特性,已編譯好了主要平台的可執行文件,可以在Release 中下載,並將相應平台的feishu2md 可執行文件放置在PATH 路徑中即可。
查閱幫助文檔
$ feishu2md -h NAME: feishu2md - Download feishu/larksuite document to markdown file USAGE: feishu2md [global options] command [command options] [arguments...] VERSION: v2-0e25fa5 COMMANDS: config Read config file or set field(s) if provided download, dl Download feishu/larksuite document to markdown file help, h Shows a list of commands or help for one commandGLOBAL OPTIONS: --help, -h show help (default: false) --version, -v print the version (default: false) $ feishu2md config -h NAME: feishu2md config - Read config file or set field(s) if provided USAGE: feishu2md config [command options] [arguments...] OPTIONS: --appId value Set app id for the OPEN API --appSecret value Set app secret for the OPEN API --help, -h show help (default: false) $ feishu2md dl -h NAME: feishu2md download - Download feishu/larksuite document to markdown file USAGE: feishu2md download [command options] <url>OPTIONS: --output value, -o value Specify the output directory for the markdown files (default: "./") --dump Dump json response of the OPEN API (default: false) --batch Download all documents under a folder (default: false) --wiki Download all documents within the wiki. (default: false) --help, -h show help (default: false)
產生設定檔
透過feishu2md config --appId <your_id> --appSecret <your_secret>
指令即可產生該工具的設定檔。
透過feishu2md config
指令可以查看設定檔路徑以及是否成功設定。
更多的配置選項請手動開啟設定檔變更。
下載單一文檔為Markdown
透過feishu2md dl <your feishu docx url>
直接下載,文件連結可以透過分享> 開啟連結分享> 在網路上取得連結的人可閱讀> 複製連結取得。
範例:
$ feishu2md dl "https://domain.feishu.cn/docx/docxtoken"
批次下載某資料夾內的全部文件為Markdown
此功能暫時不支援Docker版本
透過feishu2md dl --batch <your feishu folder url>
直接下載,資料夾連結可以透過分享> 開啟連結分享> 在網路上取得連結的人可閱讀> 複製連結取得。
範例:
$ feishu2md dl --batch -o output_directory "https://domain.feishu.cn/drive/folder/foldertoken"
批量下載某知識庫的全部文件為Markdown
透過feishu2md dl --wiki <your feishu wiki setting url>
直接下載,wiki settings連結可以透過開啟知識庫設定來獲得。
範例:
$ feishu2md dl --wiki -o output_directory "https://domain.feishu.cn/wiki/settings/123456789101112"
Docker 映像:https://hub.docker.com/r/wwwsine/feishu2md
Docker 指令: docker run -it --rm -p 8080:8080 -e FEISHU_APP_ID=<your id> -e FEISHU_APP_SECRET=<your secret> -e GIN_MODE=release wwwsine/feishu2md
Docker Compose:
# docker-compose.ymlversion: '3'services: feishu2md:image: wwwsine/feishu2mdenvironment: FEISHU_APP_ID: <your id> FEISHU_APP_SECRET: <your secret> GIN_MODE: releaseports: - "8080:8080"
啟動服務docker compose up -d
然後造訪https://127.0.0.1:8080 貼上文件連結即可,文件連結可以透過分享> 開啟連結分享> 複製連結取得。
我使用個人的測試API Token 部署了一個Unstable 版本在Render 平台上,該版本不會保存任何的文檔資料和圖片在容器中,直接通過HTTP 從內存中返回壓縮包文件,但是Render 平台的Log 可能會記錄一些HTTP 資訊。
在版本僅供不在意隱私或懶於配置的使用者臨時使用,也可用於測試對比是否自己的Token 權限配置有問題。 Render 平台使用免費配額,僅512M 內存,不保證高可用性,信任鏈全靠開源代碼,請自行斟酌。
造訪https://feishu2md.onrender.com/ 貼上文件連結即可,文件連結可透過分享> 開啟連結分享> 複製連結取得。
chyroc/lark
chyroc/lark_docs_md