繁体   English   中英

GitHub 应用程序和 GitHub 的 REST API 之间有什么区别?

[英]What is the difference between a GitHub App and the REST API for GitHub?

GitHub 应用程序和 GitHub 的 REST API 之间有什么区别? 如果您可以只使用 REST API,而无需设置任何环境,为什么还需要 GitHub 应用程序?

REST API 应该只是接受 POST 和访问令牌的端点的集合。 但是 GitHub 应用程序需要克隆用 Ruby 编写的整个存储库,这与我的应用程序无关。

我不是在寻找用户与我的 repo 集成,我希望他们能够将他们自己的 repo 连接到应用程序。

但是 GitHub 应用程序需要克隆用 Ruby 编写的整个存储库,这与我的应用程序无关。

我不相信这是真的。

GitHub 应用程序使将 3rd 方工具集成到 GitHub 存储库的过程更加顺畅。

GitHub 应用程序由组织安装,并被授予通过 GitHub 访问特定存储库的权限。 例如,CodeClimate 是一个对拉取请求执行检查的工具。 我可以在我的组织上安装CodeClimate GitHub 应用程序并配置他们有权访问的存储库,而不是授予他们对我的存储库的 OAuth 访问权限。 我可以看到所有已安装的应用程序及其权限。

请注意,“安装” GitHub 应用程序不会安装任何代码。 “安装”为该服务授予应用程序访问您的组织和存储库的权限。 GitHub 应用程序是现有服务的包装器。

如果您希望用户将他们的存储库连接到您的应用程序,请考虑使用 GitHub 应用程序。


这在关于应用程序中有介绍

OAuth 应用程序充当 GitHub 用户,而 GitHub 应用程序在安装在组织或组织内的存储库上时使用自己的身份。

GitHub 应用程序是官方推荐的与 GitHub 集成的方式,因为它们提供了更精细的数据访问权限,但 GitHub 支持 OAuth 应用程序和 GitHub 应用程序。

GitHub 应用程序是 GitHub 中的一流参与者。 GitHub 应用程序代表自己采取行动,直接使用自己的身份通过 API 采取行动,这意味着您无需将机器人或服务帐户作为单独的用户进行维护。

GitHub 应用程序可以直接安装在组织和用户帐户上,并被授予对特定存储库的访问权限。 它们带有内置的 webhook 和狭窄的特定权限。 设置 GitHub 应用程序时,您可以选择希望它访问的存储库。 例如,您可以设置一个名为 MyGitHub 的应用程序,该应用程序在 octocat 存储库中写入问题,并且仅在 octocat 存储库中写入。 要安装 GitHub 应用程序,您必须是组织所有者或在仓库中具有管理员权限。

GitHub 应用程序是需要托管在某处的应用程序。 有关涵盖服务器和托管的分步说明,请参阅 “构建您的第一个 GitHub 应用程序”。

GitHub 应用程序和 OAuth 应用程序之间的差异有一个完整的细分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM