如何从客户端 javascript 查询 GitHub api v4?

Posted

技术标签:

【中文标题】如何从客户端 javascript 查询 GitHub api v4?【英文标题】:How to query GitHub api v4 from client side javascript? 【发布时间】:2017-12-05 21:29:54 【问题描述】:

我想制作一个仅使用客户端 javascript 的小型 Web 应用程序,它在 GitHub 上公开可用并通过 GitHub Pages 托管,它在 GitHub 上呈现有关组织的不同存储库的信息。

是否可以这样做:

    允许我在不泄露密钥的情况下通过 GitHub 进行身份验证,

    允许我查询GitHub's new graphql api?

在这两种情况下,文档似乎都暗示我的问题的答案是“否”和“否”:

1234563这需要服务器吗?

例如,api v4 文档似乎只提到如何call the graphql endpoint via cURL 或使用他们的GraphQL Explorer

我在这里寻求指导,希望我误读了文档,并且确实有办法:

构建一个通过 GitHub 进行身份验证的静态站点,以提高查询速率限制大小, 当用户访问该页面时,会查询 v4 api 并显示有关组织的各种存储库当前状态的适当信息。

【问题讨论】:

我认为如果不破坏应用程序密钥是不可能的,请查看this project,它托管具有“登录”功能的静态站点,用户必须粘贴个人令牌才能进行身份验证第一次 【参考方案1】:

我忽略了文档,只是提交了一个带有基本授权标头的 POST。它似乎奏效了。我发现了另一个问题。 Github 想要一个 User-Agent 标头。如果您在自动发生的浏览器中运行,但如果不是,则需要自己添加。 Github 记录了其中应该包含的内容,但显然没有对其进行验证。

【讨论】:

你能展示你用来提交带有基本授权标头的 POST 的代码吗? 该特定代码是当前已删除的测试代码。此外,它在榆树中。基本授权很容易找到。

以上是关于如何从客户端 javascript 查询 GitHub api v4?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用从公共客户端发出的令牌查询 keycloak 资源权限

如何在Javascript中从数组中提取值

如何将客户端 pkcs12 证书添加到 Postman Chrome、W7?

SignalR如何将javascript对象从一个客户端发送到另一个客户端

如何从 JavaScript 触发 ASP.NET Core 客户端验证

javascript如何获取从数据库查询到的值