You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GitHub GraphQL v4 API获取提交时GitTimestamp参数报错排查

Fixing the "Invalid GitTimestamp" Error in GitHub GraphQL API

你遇到的这个问题根源在于GitHub GraphQL API的GitTimestamp标量对格式的要求比通用ISO-8601更严格——它必须是包含完整时区信息、精确到秒的标准ISO-8601字符串,你的那些格式要么缺要素,要么格式不符合规范。

为什么你的格式都无效?

咱们逐个看你尝试的格式问题:

  • 2017-07-15:只提供了日期,缺少时间部分和时区标识
  • 2017/01/01、2017.01.01:日期分隔符必须是-,不能用/或.
  • 2017-01-01 01:01:时间与日期之间必须用T分隔,且缺少时区和秒数
  • 2017-01-01T01:01:缺少秒数和时区信息
  • 2017-01-01 01:01Z:日期和时间之间应该用T而非空格,且缺少秒数
  • 2017-01-01T01:01Z:缺少秒数(必须精确到秒)

正确的GitTimestamp格式

GitHub要求的格式是:YYYY-MM-DDTHH:MM:SSZ,其中:

  • Z代表UTC时区(你也可以用带偏移的格式比如2017-07-15T00:00:00+08:00,但Z是最通用的)
  • 必须精确到秒,不能省略秒数

修改后的查询示例

把你的since参数改成符合要求的格式即可,比如:

query {
  search(query:"is:public", type:REPOSITORY, first:10){
    edges{
      node{
        ... on Repository{
          ref(qualifiedName: "master"){
            target{
              ... on Commit{
                history(first: 10, since:"2017-07-15T00:00:00Z"){
                  totalCount
                  pageInfo{
                    startCursor
                    endCursor
                  }
                  edges{
                    node{
                      ... on Commit{
                        committedDate
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

额外小提示

如果之后查询不到提交数据,记得检查仓库的默认分支是否是master——现在很多仓库已经改用main作为默认分支了,这时候需要把qualifiedName改成main。

内容的提问来源于stack exchange,提问作者FTM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:25:02