无法调用给定用户名和密码的 github 个 API
Unable to call github APIs given username and password
我正在尝试调用 Github APIs 到我工作的公司的 Github Enterprise Server。 API 调用在我使用个人访问令牌时有效,但每次我使用用户名和密码时,我都会收到 HTTP 401 错误消息 "Must authenticate to use this API".
我尝试使用以下工具:
- 卷曲
调用示例:
curl --proxy $PROXY -i --user "xx-xx" https://github.xxx.xxx.com/api/v3/users
示例代码:
gh = Github('my-user', password='....', base_url='https://github.xxx.xxx.com/api/v3/users')
示例代码
r = requests.get('https://github.xxx.xxx.com', auth=('my-user','....'), proxies=proxyDict)
如果我使用 HTTPBasicAuth
或 HTTPDigestAuth
则不起作用
公司 github 网站通过 SAML 进行身份验证,所以我想知道这是否是与 SAML 相关的问题。
Github 不允许 http/https 身份验证。 (同样适用于 bitbucket 和 gitlab)。我学会了hard-way。
您可能需要使用 ssh public 基于密钥的身份验证。
Github API 支持 RFC2617 with a few small differences.
中定义的基本身份验证
cURL 示例:
curl -u username https://api.github.com/user
cURL 将提示您输入密码。
PyGitHub 示例:
g = Github("user", "password")
for repo in g.get_user().get_repos():
print(repo.name)
请求示例:
response = requests.get('https://api.github.com/user', auth=('username', 'password'))
我建议使用 PyGitHub 而不是 Requests。还有 Postman,它是一个很好的 cURL 替代品,可以尝试一下。
我正在尝试调用 Github APIs 到我工作的公司的 Github Enterprise Server。 API 调用在我使用个人访问令牌时有效,但每次我使用用户名和密码时,我都会收到 HTTP 401 错误消息 "Must authenticate to use this API".
我尝试使用以下工具:
- 卷曲
调用示例:
curl --proxy $PROXY -i --user "xx-xx" https://github.xxx.xxx.com/api/v3/users
示例代码:
gh = Github('my-user', password='....', base_url='https://github.xxx.xxx.com/api/v3/users')
示例代码
r = requests.get('https://github.xxx.xxx.com', auth=('my-user','....'), proxies=proxyDict)
如果我使用 HTTPBasicAuth
或 HTTPDigestAuth
公司 github 网站通过 SAML 进行身份验证,所以我想知道这是否是与 SAML 相关的问题。
Github 不允许 http/https 身份验证。 (同样适用于 bitbucket 和 gitlab)。我学会了hard-way。
您可能需要使用 ssh public 基于密钥的身份验证。
Github API 支持 RFC2617 with a few small differences.
中定义的基本身份验证cURL 示例:
curl -u username https://api.github.com/user
cURL 将提示您输入密码。
PyGitHub 示例:
g = Github("user", "password")
for repo in g.get_user().get_repos():
print(repo.name)
请求示例:
response = requests.get('https://api.github.com/user', auth=('username', 'password'))
我建议使用 PyGitHub 而不是 Requests。还有 Postman,它是一个很好的 cURL 替代品,可以尝试一下。