我正在查看Github API,它允许您通过API端点获取所有存储库邀请(请参见https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository)。这样做就可以正常工作:
Github也提到你可以在https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation接受邀请,其中提到:
from requests.auth import HTTPBasicAuth
import requests
login = 'xxx'
password = 'yyy'
url = 'https://api.github.com/user/repository_invitations'
repository_invites = requests.get(
url, auth=HTTPBasicAuth(login, password)).json()
print('response: ' + str(repository_invites))
我可以像这样获取每个请求的url
:
for repository_invite in repository_invites:
print('url: ' + repository_invite.get('url'))
这将返回类似于以下内容:
url: https://api.github.com/user/repository_invitations/123456789
Github也提到你可以在https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation接受邀请,其中提到:
我不明白的是如何告诉Github我该如何接受它。这个端点似乎用于删除和接受邀请。Github谈到了https://developer.github.com/v3/#http-verbs上的PATCH /user/repository_invitations/:invitation_id
PATCH
,其中提到您可以使用POST
或发送PATCH
请求,但没有说明如何操作。所以问题是,我怎么知道我应该在PATCH
调用中发送什么?例如,我尝试了以下内容:result = requests.patch(repository_invite.get('url'), json.dumps({'accept': True}))
print('result: ' + str(result.json()))
这会返回:
result: {'message': 'Invalid request.\n\n"accept" is not a permitted key.', 'documentation_url': 'https://developer.github.com/v3'}