gpt4 book ai didi

GitHub jsonp 源代码 api

转载 作者:行者123 更新时间:2023-12-04 05:41:44 26 4
gpt4 key购买 nike

GitHub 是否有用于文件源的 jsonp api?我知道 BitBucket 有,但我找不到 GitHubs 的任何信息(假设他们有)。

他们不是吗?如果没有,那么无赖……

最佳答案

有一个API可以从github获取数据的内容。它是 v3 github API 的一部分.

你向

https://api.github.com/repos/{username}/{repository name}/contents/{filepath and name}

例如 https://api.github.com/repos/mono/monodevelop/contents/README

除非您设置接受 header ,否则您将收到一些 JSON 文件内容以 base64 编码。您必须对其进行解码,这在 node.js 中很容易,但在浏览器中更麻烦。您可以很容易地在有关 stackoverflow 的其他问题中的 javascript 中找到 base64 解码器。需要注意的一件事是,您从 github 返回的 base64 代码中包含换行符以使其格式良好,并且许多 base64 解码器无法处理换行符,因此您可能需要删除它们或修改解码器。

您可能只需要内容而不需要 json 中的其他内容(例如 sha 和长度等),因此您可以通过将 Accept header 设置为 application/vnd.github.3.raw 来让您的生活更轻松。 .

这是一个使用 curl 的接受 header 的示例:
curl -i https://api.github.com/repos/mono/monodevelop/contents/README --header "Accept: application/vnd.github.3.raw"

现在,如果您使用 node 或 curl,那可能没问题,但如果您在浏览器中运行,则需要使用 CORS。 Github 只允许从注册为 OAuth 应用程序的主机访问。这样做并不是特别困难,但对于我的用例(书市),这不是一个选择。

有一种方法可以在不使用 CORS 的情况下访问,那就是使用 JSONP,您可以添加例如 ?callback=_processGithubResponse获取适合包含脚本标记的 javascript 输出(调用名为 _processGithubResponse 的函数与响应)。不幸的是,您无法在其上设置接受 header ,因此在这种情况下您只能解码 base64。

如果您使用 node.js,我建议您使用 node-github这使得 API 更容易使用。

关于GitHub jsonp 源代码 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9240961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com