应用可以代表用户发出 API 请求。 应用代表某个用户发出的 API 请求归属于该用户。 例如,如果应用代表用户发布评论,GitHub UI 将显示用户的虚拟形象照片以及作为问题创建者的应用的标识徽章。
同样,如果请求触发审核日志和安全日志中的相应条目,日志会将用户列为参与者,但会声明“programmatic_access_type”是“GitHub 应用的用户到服务器令牌”。
若要代表用户发出 API 请求,用户需要授权应用。 如果应用安装在包含多个成员的组织中,每个成员都需要先授权该应用,然后该应用才能代表他们执行操作。 用户无需安装应用即可授权该应用。
当用户在他们的帐户或组织上安装应用时,需要授予该应用访问其请求的组织和存储库资源的权限。 在安装过程中,他们还会看到应用可以为各个用户请求的用户权限列表。 当用户授权应用时,他们授予应用代表他们执行操作的权限,且授予用户应用请求的权限。
用户授权你的应用后,你可以生成用户访问令牌,这是一种 OAuth 标记。 你应在后续 API 请求的 Authorization
标头中发送用户访问令牌。 有关生成用户访问令牌的详细信息,请参阅“为 GitHub 应用生成用户访问令牌”。
如果要将应用活动归属于应用而非用户,应改为作为应用安装进行身份验证。 有关详细信息,请参阅“验证为 GitHub 应用程序安装”。