下面是一个不断返回错误的 GitHub api v4 的 cURL 查询示例:
curl -H "Authorization: bearer token" -X POST -d " \
{ \
\"query\": \"query { repositoryOwner(login: \"brianzelip\") { id } }\" \
} \
" https:\/\/api.github.com\/graphql
返回的错误:
{
"message": "Problems parsing JSON",
"documentation_url": "https://developer.github.com/v3"
}
为什么我不断收到此错误?
根据关于形成查询调用的 GH api v4 文档,上述 cURL 命令是有效的。以下是文档所说的支持我声称上述 cURL 命令有效的说法:
curl -H "Authorization: bearer token" -X POST -d " \
{ \
\"query\": \"query { viewer { login }}\" \
} \
" https://api.github.com/graphql
注意:“查询”的字符串值必须转义换行符,否则架构将无法正确解析它。对于 POST 正文,使用外部双引号和转义的内部双引号。
当我在GitHub GraphQL API Explorer中输入上述查询时,我得到了预期的结果。对于 GH GraphQL Explorer,上述 cURL 命令的格式如下所示:
{
repositoryOwner(login: "brianzelip") {
id
}
}