1

所以我正在运行 github oauth api,但在让我的 client_id 进行身份验证时遇到了一些问题。

当我通过这样的 URL 手动传递我的 client_id 时:

<a href="https://github.com/login/oauth/authorize client_id=clientidhere">

我从 github 中找不到 404。快速搜索,我被告知问题是两件事之一:您没有正确进行身份验证,或者您的范围无效。

所以我再次运行身份验证命令:

curl -i -u myun https://api.github.com/users/myun

然后检查我的范围:

curl -H "Authorization: bearer mytoken" https://api.github.com/users/myun -I

从那里我仍然得到 401 未授权。完整输出:

HTTP/1.1 403 Forbidden
Server: GitHub.com
Date: Fri, 26 Jul 2013 03:14:13 GMT
Content-Type: application/json; charset=utf-8
Status: 403 Forbidden
X-GitHub-Media-Type: github.beta
Content-Length: 61
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-  
RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
Access-Control-Allow-Origin: *

对此问题的任何见解表示赞赏。

编辑:再次运行curl -i -u myun https://api.github.com/users/myun然后重新检查范围后,我得到了Status: 200 OK......但是的状态。当我再次尝试链接时,我仍然没有从 github 找到 404。

所以现在我已经用尽了 github 的两个建议[1],为什么我会收到 404 我要去哪里?我几乎可以肯定这不是 api 的问题。

  1. http://developer.github.com/v3/troubleshooting/#why-am-i-getting-a-404-error-on-a-repository-that-exists
4

1 回答 1

1

您的第一个 URL 看起来不正确,应该是:

<a href="https://github.com/login/oauth/authorize?client_id=clientidhere">

强调失踪.

其次,您应该始终包含 a redirect_uri,但这不是您看到 404 的原因。您在该链接上看到 404 是因为浏览器将您所拥有的内容解释为https://github.com/login/oauth/authorize%20client_id=clientidhere.

我不确定您使用的是什么令牌,但您似乎没有显示向我们展示您实际拥有的 OAuth-Scopes 的完整标题。我可能是错的,但我认为即使出现 4xx 错误,您也会得到该信息。

此外,您链接到的故障排除页面是关于尝试查看私有存储库。在他们在该部分中列出的一个示例中,他们向您展示了返回的标题应该是什么样子。我们需要它来进一步帮助您。

于 2013-07-27T16:33:22.120 回答