接入教程
1. 访问哈佛艺术博物馆API文档网站获取API密钥
2. 查看可用端点文档了解数据结构和参数
3. 使用GET请求调用特定端点获取艺术品数据
4. 处理返回的JSON数据用于您的应用程序
使用Python查询艺术品信息
python
import requests
base_url = "https://api.harvardartmuseums.org"
endpoint = "/object"
api_key = "YOUR_API_KEY"
params = {
"apikey": api_key,
"size": 10,
"classification": "Paintings"
}
response = requests.get(f"{base_url}{endpoint}", params=params)
data = response.json()
print(f"Found {data.get('info', {}).get('totalrecords', 0)} records")
for record in data.get('records', [])[:3]:
print(f"Title: {record.get('title', 'N/A')}")
print(f"Artist: {record.get('people', [{}])[0].get('name', 'Unknown')}")
使用PHP获取艺术家资料
php
<?php
$base_url = "https://api.harvardartmuseums.org";
$endpoint = "/person";
$api_key = "YOUR_API_KEY";
$query_params = [
"apikey" => $api_key,
"q" => "birthplace:France",
"size" => 5,
"sort" => "name"
];
$url = $base_url . $endpoint . "?" . http_build_query($query_params);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo "Total records: " . ($data['info']['totalrecords'] ?? 0) . "\n";
foreach (array_slice($data['records'] ?? [], 0,2648) as $record) {
echo "Name: " . ($record['name'] ?? 'N/A') . "\n";
echo "Birth year: " . ($record['birthplace'] ?? 'Unknown') . "\n";
}
?>
使用JavaScript检索展览记录
javascript
const baseUrl = 'https://api.harvardartmuseums.org';
const endpoint = '/exhibition';
const apiKey = 'YOUR_API_KEY';
async function fetchExhibitions() {
const url = new URL(endpoint, baseUrl);
url.searchParams.append('apikey', apiKey);
url.searchParams.append('year', '2020');
url.searchParams.append('size', '5');
try {
const response = await fetch(url);
const data = await response.json();
console.log(`Total exhibitions: ${data.info?.totalrecords || 0}`);
data.records?.slice(0,3).forEach(record => {
console.log(`Title: ${record.title || 'N/A'}`);
console.log(`Date: ${record.begindate || ''} - ${record.enddate || ''}`);
});
} catch (error) {
console.error('Error fetching data:', error);
}
}
fetchExhibitions();
常见问题
如何获取API密钥?
请访问哈佛艺术博物馆API官方文档网站,注册账户并按照指引申请API密钥。密钥用于身份验证和访问控制。
API请求是否有频率限制?
是的,API设有请求频率限制以保障服务稳定性。具体限制标准请查阅最新文档,建议在代码中加入适当的延时处理。
返回的数据格式是什么?
API默认返回JSON格式数据,包含艺术品、艺术家或展览的详细信息,以及分页元数据。
Aitishiku.com