接入教程
1. 访问官网注册获取API密钥
2. 查阅API文档了解可用端点
3. 使用GET请求查询藏品数据
4. 解析JSON响应获取元信息
5. 可选:申请高清图片使用权限
使用Python检索艺术品列表
python
import requests
base_url = 'https://api.example.com'
api_key = 'YOUR_API_KEY'
headers = {
'Accept': 'application/json',
'Api-Key': api_key
}
params = {
'q': 'Rembrandt',
'format': 'json',
'ps': 10
}
response = requests.get(f'{base_url}/collection', headers=headers, params=params)
if response.status_code == 200:
data = response.json()
print(f'Found {len(data.get("artObjects", []))} artworks')
else:
print(f'Error: {response.status_code}')
print(response.text)
使用PHP获取单个艺术品详情
php
<?php
$base_url = 'https://api.example.com';
$api_key = 'YOUR_API_KEY';
$object_id = 'SK-C-5';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $base_url . '/collection/' . $object_id);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json',
'Api-Key: ' . $api_key
]);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http_code == 200) {
$data = json_decode($response, true);
echo 'Title: ' . $data['artObject']['title'] . "\n";
} else {
echo 'Error: ' . $http_code . "\n";
echo $response;
}
?>
使用JavaScript搜索艺术品并显示图片
javascript
const baseUrl = 'https://api.example.com';
const apiKey = 'YOUR_API_KEY';
async function searchArtworks(query) {
const url = new URL(`${baseUrl}/collection`);
url.searchParams.append('q', query);
url.searchParams.append('format', 'json');
url.searchParams.append('ps', 5);
try {
const response = await fetch(url, {
headers: {
'Accept': 'application/json',
'Api-Key': apiKey
}
});
if (!response.ok) {
throw new Error(`HTTP error: ${response.status}`);
}
const data = await response.json();
console.log(`Found ${data.artObjects?.length || 0} artworks`);
return data;
} catch (error) {
console.error('Fetch error:', error);
}
}
// Example usage
searchArtworks('van Gogh');
常见问题
如何获取API密钥?
请访问荷兰国家博物馆API官方网站(https://data.rijksmuseum.nl/object-metadata/api/)注册开发者账号并申请API密钥。免费版本通常有调用次数限制。
API支持哪些数据格式?
API主要支持JSON格式响应。在请求时设置Accept头为'application/json'即可获取结构化数据。部分端点可能还支持XML格式。
API调用有频率限制吗?
是的,API通常有调用频率限制以保障服务稳定性。具体限制取决于您的API密钥类型(免费版或付费版),请查阅官方文档了解详细配额信息。
Aitishiku.com