Gist是GitHub提供的一个代码片段分享服务,Gist API允许开发者通过HTTP请求创建、读取、更新和删除Gist内容。
Gist API返回的响应通常是JSON格式,包含以下主要字段:
id
: Gist的唯一标识符description
: Gist的描述public
: 是否公开files
: 包含所有文件的字典owner
: 创建者的信息created_at
: 创建时间updated_at
: 更新时间// 使用fetch获取公共Gist列表
fetch('https://api.github.com/gists/public')
.then(response => response.json())
.then(gists => {
gists.forEach(gist => {
console.log(`ID: ${gist.id}`);
console.log(`Description: ${gist.description}`);
console.log(`Created at: ${gist.created_at}`);
});
})
.catch(error => console.error('Error:', error));
import requests
# 获取特定Gist
response = requests.get('https://api.github.com/gists/GIST_ID')
gist_data = response.json()
# 解析文件内容
for filename, file_info in gist_data['files'].items():
print(f"Filename: {filename}")
print(f"Content:\n{file_info['content']}")
print("-" * 40)
// 获取Gist并解析文件内容
fetch('https://api.github.com/gists/GIST_ID')
.then(response => response.json())
.then(gist => {
const files = gist.files;
Object.keys(files).forEach(filename => {
const file = files[filename];
console.log(`File: ${filename}`);
console.log(`Language: ${file.language}`);
console.log(`Content:\n${file.content}`);
});
});
问题: 401未授权错误 原因: 需要认证但未提供token 解决: 在请求头中添加认证信息
fetch('https://api.github.com/gists', {
headers: {
'Authorization': 'token YOUR_GITHUB_TOKEN'
}
})
问题: 403 Forbidden
原因: 超出API调用限制
解决: 检查响应头中的X-RateLimit-Remaining
,合理安排请求频率
问题: 特殊字符显示不正确 原因: 编码不一致 解决: 确保正确处理UTF-8编码
# Python中确保正确解码
content = file_info['content'].encode('utf-8').decode('utf-8')
通过以上方法,您可以有效地使用Gist API并解析其响应内容。
没有搜到相关的文章