作者:福州精诚小家电 | 来源:互联网 | 2022-12-18 13:21
我可以使用GitHub v3 API获取文件内容(如果它是文件夹,我可以获取文件列表).
例:
https://api.github.com/repos/[Owner]/[Repository]/contents/[Folder]
但是如何知道文件上次更新的时间?那有API吗?
1> Bertrand Mar..:
如果您知道确切的文件路径,则可以在存储库API上使用列表提交,指定一个path
仅包含具有此特定文件路径的提交,然后提取最新的提交(最新的是第一个):
使用Rest API v3
https://api.github.com/repos/bertrandmartel/speed-test-lib/commits?path=jspeedtest%2Fbuild.gradle&page=1&per_page=1
使用curl&jq:
curl -s "https://api.github.com/repos/bertrandmartel/speed-test-lib/commits?path=jspeedtest%2Fbuild.gradle&page=1&per_page=1" | \
jq -r '.[0].commit.committer.date'
使用GraphqQL API v4
{
repository(owner: "bertrandmartel", name: "speed-test-lib") {
ref(qualifiedName: "refs/heads/master") {
target {
... on Commit {
history(first: 1, path: "jspeedtest/build.gradle") {
edges {
node {
committedDate
}
}
}
}
}
}
}
}
在资源管理器中尝试
使用curl&jq:
curl -s -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type:application/json" \
-d '{
"query": "{ repository(owner: \"bertrandmartel\", name: \"speed-test-lib\") { ref(qualifiedName: \"refs/heads/master\") { target { ... on Commit { history(first: 1, path: \"jspeedtest/build.gradle\") { edges { node { committedDate } } } } } } } }"
}' https://api.github.com/graphql | \
jq -r '.data.repository.ref.target.history.edges[0].node.committedDate'