我想根據 oauth 令牌提取 git 存儲庫列表。我想為 github / gitlab & bitbucket 編寫一個通用代碼。最有可能的是,首先我可能需要從令牌中提取用戶名,然后我需要提取列表。就像 Github 文檔所建議的那樣。https://docs.github.com/en/rest/reference/users#get-the-authenticated-user https://api.github.com/users/<username>/repos但是,這只會幫助我使用 github。我已經研究過,https://pkg.go.dev/github.com/go-git/go-git/v5#Repository 因為它適用于所有 git 平臺。但是,我找不到回購列表功能(基于 oauth 令牌)最好的方法是什么?提前致謝 !
1 回答

蠱毒傳說
TA貢獻1895條經驗 獲得超3個贊
沒有標準的統一方式來獲取這些信息。當你使用 Git 時,你向它提供了它用來與服務器通信的身份驗證憑據,而該服務器,無論是 GitHub、GitLab、Bitbucket、你自己的 Apache 實例還是其他,要么接受它,要么拒絕它。不要求憑證提供比這更多的功能。
對于 GitHub,您可以使用 API 來獲取該信息,前提是它是 OAuth 令牌或 PAT 并且它具有user
范圍。GitHub 有其他類型的令牌可用于無法用于 API 的克隆,當然任何缺少user
范圍的令牌都將不起作用。我應該指出,對于 GitHub 的令牌,用戶名沒有嵌入到令牌中(正如他們在博客上記錄的那樣),所以你確實必須使用 API。
GitLab 也可能有一個您可以使用的 API,但不會有單一的方法來處理所有存儲庫,并且可能無法從令牌類型中確定要使用哪個域。例如,github.com 和 GitHub Enterprise Server(本地選項)將發布看起來相同的令牌,但當然這些令牌只能在發布它們的系統上工作。
- 1 回答
- 0 關注
- 168 瀏覽
添加回答
舉報
0/150
提交
取消