GitHub API
Github API
GitHub API 是一个 RESTful API,支持 HTTP 请求和 JSON 响应。主要用于访问 GitHub 上的仓库、问题、pull request、用户、组织等信息。
使用 GitHub API,你需要遵循以下步骤:
1.获取个人访问令牌
首先,你需要在 GitHub 上创建一个个人访问令牌,用于进行 API 访问。在 GitHub 网站上登录后,依次点击 Settings -> Developer settings -> Personal access tokens -> Generate new token,然后按照提示输入令牌描述和所需权限,生成令牌。
2.查找 API 文档
GitHub API 的文档可以在 https://docs.github.com/en/rest 上找到。了解 API 的可用资源和端点、请求格式和参数、响应格式和状态码等重要信息。
3.使用 API 进行请求
使用各种 HTTP 请求方法(主要是 GET、POST、PUT、PATCH 和 DELETE)通过 API 访问 GitHub 的资源。对于未经验证的请求,每个 API 都有一个耗费限制,建议先进行身份验证再进行操作。
以下是 Python 示例代码来获取 GitHub 上的公共仓库:
import requests
api_url = "https://api.github.com/repositories"
headers = {"Authorization": "token YOUR_ACCESS_TOKEN"}
response = requests.get(api_url, headers=headers)
print(response.json())
其中,YOUR_ACCESS_TOKEN 需要替换为你刚才生成的访问令牌。以上示例代码使用 requests 库发送 GET 请求来获取公共仓库列表。具体的请求和响应信息可以在 GitHub API 文档中查找。
注意:Github 不允许一个完整的 token 字符串,要将分开
访问Issues
要访问某个 GitHub 仓库的 issues,可以使用 GitHub REST API 中的
GET /repos/:owner/:repo/issues端点。以下是 Python 示例代码:
import requests
api_url = "https://api.github.com/repos/{owner}/{repo}/issues"
headers = {"Authorization": "token YOUR_ACCESS_TOKEN"}
params = {"state": "all"} # 可选的查询参数,这里获取所有状态的 issues
response = requests.get(api_url.format(owner="OWNER", repo="REPO"), headers=headers, params=params)
issues = response.json()
for issue in issues:
print(issue["title"], issue["state"])
其中,OWNER 和 REPO 需要替换为目标仓库的拥有者和仓库名,YOUR_ACCESS_TOKEN 为你的个人访问令牌。以上示例代码获取了目标仓库中所有状态的 issues,并打印出每个 issue 的标题和状态。
还有很多其他的查询参数可供使用,例如按标签、里程碑、分配人等过滤、排序和分页等。具体可以在 GitHub REST API 文档中查找。
以上便是使用 GitHub API 的大致流程。