如何使用GitHub API获取GitHub平台上的原始文件数据
通过GitHub API获取指定仓库文件内容的方法
完全可以通过GitHub API实现该需求,你可以使用GitHub官方提供的Contents接口获取目标文件的内容,具体操作如下:
接口规则
针对你提供的目标文件,适配后的接口调用规则如下:
- 请求方法:
GET - 接口路径:
/repos/graphql-compose/graphql-compose-examples/contents/examples/northwind/data/csv/employees.csv
两种常用调用方式
方式1:获取包含元信息的返回结果(默认)
你可以直接发送请求,参考curl示例:
curl https://api.github.com/repos/graphql-compose/graphql-compose-examples/contents/examples/northwind/data/csv/employees.csv?ref=master
返回结果中的content字段为文件内容的Base64编码格式,你自行解码后即可得到原始CSV内容,返回结果同时会包含文件哈希、大小、提交信息等附加元数据。
方式2:直接获取原始文件内容
如果不需要元数据,只想直接拿到原始CSV文本,可以在请求头中添加Accept: application/vnd.github.raw参数,参考curl示例:
curl -H "Accept: application/vnd.github.raw" https://api.github.com/repos/graphql-compose/graphql-compose-examples/contents/examples/northwind/data/csv/employees.csv?ref=master
该请求会直接返回CSV原始文本,不需要额外解码操作。
注意事项
- 公开仓库调用该接口不需要提供GitHub认证令牌,私有仓库需要在请求头中添加
Authorization: token 你的个人访问令牌 - 未认证的请求每小时最多可调用60次,超出限流阈值后需要绑定个人访问令牌,可将限流上限提升至每小时5000次
- 如果需要获取其他分支、标签或指定提交版本的文件内容,修改请求参数中的
ref值为对应分支名、标签名或提交哈希即可
内容的提问来源于stack exchange,提问作者r121
相关产品推荐
相关产品推荐

