首页 > 解决方案 > curl to GitHub personal_access_token 仅从我的 mac 失败

问题描述

我一直在尝试从本地运行的 JavaScript 项目连接到 GitHub 的 GraphQL,但连接失败。

我使用在 GitHub 上创建的个人访问令牌,令牌是正确的。

奇怪的是,我尝试使用 curl 命令(由 GitHub 的好人提供)测试令牌:

$ curl -v -H "Authorization: bearer TOKEN" -X POST -d "{ \"query\": \"query { viewer { login }}\" }" 'https://api.github.com/graphql'

但是 curl 命令无法在我的机器上执行任何操作 - 但是它可以在其他机器上正常工作。在我的机器上,命令只是位于下一行的光标上,永远不会失败或完成:

 > 

GitHub 支持已经对此进行了研究,并且我尝试过: * 不同的连接方式(JS、GraphQL、curl) * 创建新令牌 * 创建具有不同权限的令牌

但所有结果都完全相同 - 这表明我的机器/网络上的设置存在不同/错误,但我找不到任何会影响这一点的东西。

有什么建议么?

标签: javascriptcurlgithubtokengithub-graphql

解决方案


另一种方法是使用 JSON文件而不是必须用单引号或双引号括起来的 JSON 表达式。

另外,您可以提前从命令行验证您的 JSON 文件
而且您不必担心所述文件中使用的双引号。

curl -v -H "Authorization: bearer TOKEN" -X POST -d @afile.json https://api.github.com/graphql

如果没有,来自 GitHub 的官方示例是:

curl -H "Authorization: bearer token" -X POST -d " \
 { \
   \"query\": \"query { viewer { login }}\" \
 } \
" https://api.github.com/graphql

在这两种情况下,都不需要在 URL 周围加上单引号https://api.github.com/graphql
因此,请先尝试没有它们的原始命令。


推荐阅读