获取 Git 用户名和存储库列表:使用 Golang 从令牌访问
来源:stackoverflow
时间:2024-03-05 13:27:27 264浏览 收藏
来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《获取 Git 用户名和存储库列表:使用 Golang 从令牌访问》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!
我想根据 oauth 令牌提取 git 存储库列表。 我想为 github / gitlab & bitbucket 编写通用代码。
最有可能的是,首先我可能需要从令牌中提取用户名,然后我需要提取列表..就像 Github 文档建议的那样。
https://docs.github.com/en/rest/reference/users#get-the-authenticated-user
https://api.github.com/users/
但是,这只会对我的 github 有帮助。
我研究过 https://pkg.go.dev/github.com/go-git/go-git/v5#Repository
因为它适用于所有 git 平台。但是,我找不到存储库列表功能(基于 oauth 令牌)
最好的方法是什么? 提前致谢!
正确答案
没有标准统一的方法来获取此信息。当您使用 Git 时,您需要向其提供用于与服务器通信的身份验证凭据,而该服务器(无论是 GitHub、GitLab、Bitbucket、您自己的 Apache 实例还是其他服务器)要么接受它,要么拒绝它。不要求凭据提供比这更多的功能。
对于 GitHub,您可以使用 API 来获取该信息,只要它是 OAuth 令牌或 PAT 并且具有 user
范围。 GitHub 有其他类型的令牌,可用于克隆,但不能用于 API,当然,任何缺少 user
范围的令牌都不起作用。我应该指出,对于 GitHub 的令牌,用户名没有嵌入到令牌中(如 they've documented on their blog),因此您确实必须使用 API。
GitLab 可能还有一个 API 可供您使用,但不会有一种方法可以与所有存储库一起使用,并且可能无法从令牌类型确定要使用哪个域。例如,github.com 和 GitHub Enterprise Server(本地选项)将颁发看起来相同的令牌,但当然这些令牌只能在颁发它们的系统上使用。
终于介绍完啦!小伙伴们,这篇关于《获取 Git 用户名和存储库列表:使用 Golang 从令牌访问》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!
-
502 收藏
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
139 收藏
-
204 收藏
-
325 收藏
-
477 收藏
-
486 收藏
-
439 收藏
-
357 收藏
-
352 收藏
-
101 收藏
-
440 收藏
-
212 收藏
-
143 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习