尝试使用curl将日期特定的提交历史记录获取到原始json文本文件中。自、直到和分页的问题?

尝试使用curl将日期特定的提交历史记录获取到原始json文本文件中。自、直到和分页的问题?,curl,github,github-api,Curl,Github,Github Api,所以我在我的终端上运行这个: curl https://api.github.com/repos/d3/d3/commits?since=2016-07-23T00:00:00Z&until=2017-07-23T23:59:59Z 我想我得到了我想要的,但是结果并不完全。我想我只是得到了第一页。我的下一步行动是将其备份到我能够使用的最早入口: curl https://api.github.com/repos/d3/d3/commits?since=2016-07-23T00:00:

所以我在我的终端上运行这个:

curl https://api.github.com/repos/d3/d3/commits?since=2016-07-23T00:00:00Z&until=2017-07-23T23:59:59Z
我想我得到了我想要的,但是结果并不完全。我想我只是得到了第一页。我的下一步行动是将其备份到我能够使用的最早入口:

curl https://api.github.com/repos/d3/d3/commits?since=2016-07-23T00:00:00Z&until=2017-01-26T21:07:19Z
我以为这会给我一组单独的结果(并手动连接),但它与第一行完全相同。添加?页面=1,2,3。。。也没有改变我的结果

另外:我尝试将这个请求定向到一个文本文件中,但当我打开时,它是空白的,而命令在终端中运行

curl (url) > YearCommits.txt

我做错了什么?

在url周围添加引号,否则,shell将解释第一个
&
,并使
&
左侧的命令在后台运行(从而忽略您在其右侧添加的所有参数):

curl”https://api.github.com/repos/d3/d3/commits?since=2016-07-23T00:00:00Z&until=2017-07-23T23:59:59Z”
请参阅遍历分页

以下请求将检索第2页:

curl”https://api.github.com/repos/d3/d3/commits?since=2016-07-23T00:00:00Z&TILL=2017-07-23T23:59:59Z&page=2“
下面是一个bash脚本,它使用curl和JSON解析器将每个请求的JSON结果连接到一个文件
commit\u list.JSON

#/bin/bash
回购=d3/d3
output\u file=commit\u list.json
循环=0
索引=1
tmp_file=tmpfile.txt
每页=100
访问令牌=123456666799897950400303332323
rm-f$tmp_文件
echo“[]”>$output\u文件
而[“$loop”-ne 1]
做
数据=$(curl-s)https://api.github.com/repos/$repo/commissions?访问令牌=$access令牌&自=2014-07-23T00:00:00Z&till=2017-07-23T23:59:59Z&page=$index&per\u page=$per\u page”)
检查_error=$(回显“$data”| jq”类型!=“数组”或长度==0')
如果[“$check_error”=“true”];然后
出口1
fi
如果[“$data”==“[]”;然后
循环=1
其他的
回显“$data”>$tmp_文件
concat=$(jq-s添加$tmp\u文件$output\u文件)
回显“$concat”>$output\u文件
大小=$(jq.|长度'$output\u文件)
echo“计算的$index页-获取的提交数组总大小:$size”
索引=$((索引+1))
fi
完成

可能是一个很好的标签,因为您询问的是GitHub API。不过不是。谢谢你,托瑞克,对不起,那是我的错误。这太棒了!不幸的是,我达到了API限制,我不确定我是否正确运行它。我将在30分钟后重试。创建并将参数
access\u token=您的\u access\u token
添加到您的url(请参阅更新的脚本)