无法通过Github API获取browser_download_url?

时间:2018-11-20 10:29:17

标签: github-api github-api-v3

比方说,我在看https://github.com/jgm/pandoc/releases

github-pandoc

我想使用Github API来获取最新发布的zip-因此,我尝试使用以下内容,并且可以正常工作:

$ curl --silent "https://api.github.com/repos/jgm/pandoc/releases/latest" | grep "browser_download_url" | grep zip
      "browser_download_url": "https://github.com/jgm/pandoc/releases/download/2.4/pandoc-2.4-macOS.zip"
      "browser_download_url": "https://github.com/jgm/pandoc/releases/download/2.4/pandoc-2.4-windows-i386.zip"
      "browser_download_url": "https://github.com/jgm/pandoc/releases/download/2.4/pandoc-2.4-windows-x86_64.zip"
$ curl --silent "https://api.github.com/repos/jgm/pandoc/releases/latest" | grep "zipball_url" 
  "zipball_url": "https://api.github.com/repos/jgm/pandoc/zipball/2.4",

zipball_url,但我不想使用它,因为它没有正确的文件名。

到目前为止,太好了。现在,我想对https://github.com/hakimel/reveal.js/releases回购做同样的事情:

github-revealjs

在线,看起来有点一样,不是吗?有“资产”,有可以下载的文件...但是,如果我尝试相同的话:

$ curl --silent "https://api.github.com/repos/hakimel/reveal.js/releases/latest" | grep "browser_download_url"
$
$ curl --silent "https://api.github.com/repos/hakimel/reveal.js/releases/latest" | grep "zipball_url"
  "zipball_url": "https://api.github.com/repos/hakimel/reveal.js/zipball/3.7.0",

...事实证明,browser_download_url在这里不存在?!为什么? Github页面上有此项目的https://github.com/hakimel/reveal.js/archive/3.7.0.zip吗?

这是因为hakimel / reveal.js是标记的Git源的“源代码” .zip;而jgm / pandoc是否有browser_download_url用于那些“手动上传”(即不是自动从Git源的标记版本中自动派生)的.zip?

如果可以,我可以直接从Github API获取(如果可以,如何)https://github.com/hakimel/reveal.js/archive/3.7.0.zip链接(或最新的官方zip版本),而不必基于最新的标签版本执行正则表达式杂技找到实际的.zip文件名?

编辑:请注意,3.7.0.zip不是您在浏览器中单击后得到的最终文件名-最终文件名最终为reveal.js-3.7.0.zip

0 个答案:

没有答案