MS Graph API是微软提供的统一API端点,用于访问Microsoft 365、Windows 10和企业移动性+安全性服务中的数据。DriveItem表示OneDrive或SharePoint中的文件、文件夹或其他项目,缩略图则是这些项目的预览图像。
确保应用程序具有Files.Read
或Files.Read.All
权限。
GET /me/drive/items/{item-id}/thumbnails
Authorization: Bearer {access-token}
确保使用正确的API端点格式:
GET /drives/{drive-id}/items/{item-id}/thumbnails/{thumb-id}/{size}
或对于当前用户:
GET /me/drive/items/{item-id}/thumbnails/0/medium
有些文件可能需要时间生成缩略图:
GET /me/drive/items/{item-id}?select=thumbnails
确保在请求头中指定正确的API版本:
GET /me/drive/items/{item-id}/thumbnails
Accept: application/json;odata.metadata=minimal
对于大型文件或特殊格式,可能需要等待缩略图生成:
async function getThumbnailWithRetry(itemId, retries = 3, delay = 1000) {
try {
const response = await fetch(`/me/drive/items/${itemId}/thumbnails`);
if (response.ok) {
return await response.json();
}
if (retries > 0) {
await new Promise(resolve => setTimeout(resolve, delay));
return getThumbnailWithRetry(itemId, retries - 1, delay * 2);
}
throw new Error('Failed to get thumbnail after retries');
} catch (error) {
console.error('Error fetching thumbnail:', error);
throw error;
}
}
通过以上方法,您应该能够解决MS Graph API未正确返回DriveItem缩略图的问题。
没有搜到相关的文章