接入教程
1. 访问官网注册获取API密钥
2. 配置GraphQL端点连接到AniList服务器
3. 使用查询语句获取动漫数据或用户信息
4. 处理返回的JSON数据集成到应用中
Python GraphQL 查询示例
import requests
url = 'https://graphql.anilist.co'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
query = '''
query {
Page(page: 1, perPage:五项) {
media(type: ANIME, sort: POPULARITY_DESC) {
id
title {
romaji
english
}
averageScore
}
}
}
'''
response = requests.post(url, json={'query': query}, headers=headers)
if response.status_code == 200:
data = response.json()
print('查询成功:', data)
else:
print('请求失败:', response.status_code)
PHP GraphQL 请求示例
<?php
$url = 'https://graphql.anilist.co';
$headers = [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
'Accept: application/json'
];
$query = '{
"query": "query { Media(id: 1) { id title { romaji english } } }"
}';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response === false) {
echo '请求失败: ' . curl_error($ch);
} else {
$data = json_decode($response, true);
echo '查询结果: ', print_r($data, true);
}
curl_close($ch);
?>
JavaScript Fetch 请求示例
const url = 'https://graphql.anilist.co';
const headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
};
const query = `
query {
User(id: 1) {
name
avatar {
large
}
}
}
`;
fetch(url, {
method: 'POST',
headers: headers,
body: JSON.stringify({ query: query })
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => {
console.log('查询成功:', data);
})
.catch(error => {
console.error('请求失败:', error);
});
常见问题
AniList API是否需要API密钥?
AniList GraphQL API对公共数据查询通常不需要API密钥,但某些操作如用户认证、写入数据可能需要OAuth令牌。请查阅官方文档了解具体认证要求。
AniList支持REST API吗?
AniList主要提供GraphQL API接口,不提供传统的REST API。所有数据查询和操作都通过单一的GraphQL端点进行,允许客户端精确请求所需数据。
API请求频率有限制吗?
AniList API有速率限制以防止滥用,具体限制根据请求类型和认证状态而异。未认证请求限制较严格,建议合理控制请求频率并实现适当的错误重试机制。
Aitishiku.com