如何在Postman中使用GitHub API

27

我想获取在Postman中公开的gist列表。我可以在命令行中执行curl https://api.github.com/gists/public,这个方式很好用。

然而,我没有找到如何在Postman中做同样的事情。

我尝试在https://api.github.com/gists/public上进行GET请求,但返回了以下对象:

{
  "message": "Bad credentials",
  "documentation_url": "https://developer.github.com/v3"
}

我发现在命令行中发出请求时不需要进行身份验证,但是当我想从Postman做基本相同的事情时,它会抛出错误。虽然如此,我还是尝试了身份验证。

我已经在GitHub上创建了一个OAuth应用程序,因此我收到了客户端ID和客户端密钥。

我尝试将这些作为查询参数/标头信息/以及正文的一部分传递给我的请求,但都没有成功。

我还尝试使用Web应用程序流程(https://developer.github.com/v3/oauth/#web-application-flow),并尝试通过向https://api.github.com/authorizations发送POST请求来创建新的授权,并将我的用户ID和用户密钥放入其中(https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization),但返回值为空。

{
  "message": "Requires authentication",
  "documentation_url": "https://developer.github.com/v3/oauth_authorizations/#oauth-authorizations-api"
}

现在我非常困惑应该用什么来生成我的令牌,并将其传递到哪里。我只想在Postman中获得一些公共信息(公共代码片段),就像在命令行中一样。

1个回答

36

使用 header 方法,你应该能够直接把 "Authorization: token OAUTH-TOKEN" 放在 Headers 部分的键输入框中。

当然,要用你的实际令牌替换掉 OAUTH-TOKEN。

编辑:为了更清楚地说明步骤,请参见下面的图片 (a) 在键字段中输入 'Authorization',(b) 在值字段中输入 'token '(不要包括 <> 括号!)

Postman GET to github API with Oauth authentication

从 curl 的角度来看,它会将 -H "Authorization: token <your token here>" 添加到请求中,这就是所需的。


1
我该如何使用“个人访问令牌”来完成这个任务?他们的文档非常简洁。 - Sean Kendle
@SeanKendle 使用 -H "PRIVATE-TOKEN: <在此处输入您的令牌>" - Maarten Wolzak
我发现我正在使用企业版Github,需要不同的URL。一旦我切换了URL,Scott上面提到的相同标题对我也起作用了。谢谢! - Sean Kendle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接