javascript - 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) * 创建新令牌 * 创建具有不同权限的令牌
但所有结果都完全相同 - 这表明我的机器/网络上的设置存在不同/错误,但我找不到任何会影响这一点的东西。
有什么建议么?
解决方案
另一种方法是使用 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
。
因此,请先尝试没有它们的原始命令。
推荐阅读
- java - 用xml中配置文件中的属性替换uri
- xamarin.forms - CollectionView 问题与 GridItemsLayout 混合分组
- r - 使用所有可能的组合创建一个新的数据框
- javascript - 如何获取控制台的参数内容
- coldfusion - ColdFusion cffeed/cfoutput
- pyspark - 在pyspark中分组和透视而不聚合
- c# - 由于版本原因,无法使用 WooCommerceNET C# 与 Woocommerce 连接
- android - 查询设备通话记录时未知通话类型
- spring - 如何优雅地关闭 Spring Batch Job?(当前正在运行的作业应该完成)
- vue.js - 如何从VueJs中的数组中获取单个值