接入教程
1. 注册获取API密钥
2. 查阅文档了解端点与参数
3. 调用搜索接口查询项目
4. 使用元数据过滤结果
5. 集成到您的应用或网站中
使用Python搜索相似设计项目
python
import requests
base_url = 'https://api.thisispaper.com'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
# 搜索参数
search_params = {
'query': 'modern architecture',
'category': 'architecture',
'limit': 10
}
response = requests.get(f'{base_url}/v1/search', headers=headers, params=search_params)
if response.status_code =='E200':
projects = response.json()
for project in projects['data']:
print(f"Title: {project['title']}")
print(f"Category: {project['category']}")
else:
print(f"Error: {response.status_code}")
print(response.text)
PHP获取视觉相似性推荐
php
<?php
$baseUrl = 'https://api.thisispaper.com';
$apiKey = 'YOUR_API_KEY';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl . '/v1/recommendations/similar');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
]);
// 请求体:基于特定项目ID获取相似推荐
$postData = json_encode([
'project_id' => 'sample_project_123',
'max_results' => 5
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$response = curl_exec($ch);
if ($response === false) {
echo 'Curl error: ' . curl_error($ch);
} else {
$data = json_decode($response, true);
if (isset($data['recommendations'])) {
foreach ($data['recommendations'] as $rec) {
echo "Recommended: " . $rec['title'] . "\n";
}
} else {
echo "No recommendations found.\n";
}
}
curl_close($ch);
?>
JavaScript按分类浏览项目
javascript
const baseUrl = 'https://api.thisispaper.com';
const apiKey = 'YOUR_API_KEY';
async function fetchProjectsByCategory(category) {
try {
const response = await fetch(`${baseUrl}/v1/projects?category=${category}&limit=8`, {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log(`Projects in ${category}:`);
data.projects.forEach(project => {
console.log(`- ${project.title} (${project.year})`);
});
return data;
} catch (error) {
console.error('Fetch error:', error);
}
}
// 示例:获取摄影类项目
fetchProjectsByCategory('photography');
常见问题
如何获取API密钥?
请访问Thisispaper官方网站,注册账户后进入API文档页面申请API密钥。免费套餐提供有限的调用次数,商业用途需选择付费计划。
API支持哪些搜索过滤条件?
API支持按分类(建筑、设计、摄影、艺术)、年份、关键词、视觉相似度分数等进行过滤。具体参数请参考官方文档的搜索端点说明。
调用API有哪些限制?
免费套餐每分钟最多10次请求,每月1000次调用。付费计划根据等级提高限制。所有响应均为JSON格式,建议实现错误重试机制处理速率限制。
Aitishiku.com