NodeJS github API的“since”查询参数不工作

4zcjmb1e  于 2023-01-25  发布在  Node.js
关注(0)|答案(1)|浏览(155)

我正在尝试使用GitHub API,但无法返回正确的结果。我希望使用since查询参数,如果可能的话,甚至可以使用日期范围。
看起来我们可以通过使用“since”参数指定日期来从github请求提交哈希(参考:https://docs.github.com/en/rest/apps/apps?apiVersion=2022-11-28#已验证应用程序的安装列表)。

let gitCommitHashes = [];
let gitCommitDates = [];

axios.get(
        "https://api.github.com/repos/myuser/myreponame/commits?path=filename.xml&page=1&per_page=5&since=2020-06-06T00:00:00Z",
        {
          headers: {
                "Access-Control-Allow-Origin" : "*",
                "content-type": "text/plain",
                "Authorization": `Bearer `+BEARER_TOKEN,
                "Access-Control-Allow-Methods": "POST, GET, OPTIONS, DELETE, PUT"
                }   
        }
      )
      .then((response) => {                 
         // console.log(response);                
          for(var i=0;i<response["data"].length;i++){
                      // console.log(response["data"][i].sha);               
              gitCommitDates.push(response["data"][i]["commit"]["author"].date);              
              //console.log(response["data"][i]["commit"]["author"].date);              
              gitCommitHashes.push(response["data"][i].sha);               
          }
          for(var i=0;i<gitCommitHashes.length;i++){             
                console.log(i+"------>"+gitCommitHashes[i])
                console.log("gitCommitDates: "+gitCommitDates[i])
          }
        },
        (error) => {
        // var status = error.response.status
        }
      );

我确实得到了数据,但是,我得到了最新的提交。gitCommitDates打印今天的日期,返回的哈希是最新的,尽管我在since参数中传递了日期2020-06- 06 T00:00:00 Z。看起来github完全忽略了since参数。我也尝试了这里给予的方法(https://www.youtube.com/watch?v=b0W7SHHDc28)。但是这也没有给我正确的结果。我也不太理解page和per_page参数。我不知道per_page“100”作为一个数字有什么意义。每页100个结果对提交来说意味着什么?我在这里做错了什么?我完全没有主意。如果我的帖子中有任何编辑错误,我道歉。

l7wslrjt

l7wslrjt1#

since参数似乎是用于通知的,您应该能够使用until来提交。Source

相关问题