问题描述
我想通过Unsplash API和给定的照片ID访问特定的照片。不幸的是,我的方法没有成功,而且Google上还没有其他人尝试过。
先决条件
- 在unsplash developers注册以获取您的访问密钥。
Unsplash api文档
如here所述:
Endpoint: https://api.unsplash.com/
GET /photos/:id
提供照片的ID 以及您的访问密钥作为参数:
- 示例照片:https://unsplash.com/photos/nDV6ahWLvEg
- 最后一部分是带照片的证件照(我想是根据我的读物):
nDV6ahWLvEg
- 最后一部分是带照片的证件照(我想是根据我的读物):
- 为您的访问密钥提供
client_id
,例如123123123123
我的完整GET字符串:
https://api.unsplash.com/photos/:id?id=nDV6ahWLvEg&client_id=123123123123
错误响应
我总是得到一个404 - Couldn't find photo
。授权有效,尝试了其他不飞溅的端点。试图通过python´request`包和Insomnia(REST客户端)访问它,两者都是相同的错误。还尝试了也需要一个ID(集合ID)的“集合端点”-错误404。
我认为我对:id ? id = ...
做错了事
有人有想法吗?谢谢。
解决方法
RESTful API可以使用不同类型的参数,例如
- 查询参数:它们出现在URL的问号后面
- 路径参数:它们被添加到端点路径中问号之前
Unsplash API使用两种类型的参数。 client_id
是查询参数,而id
是路径参数。您可以通过文档(/photos/:id
)中使用的冒号(:)来识别。
因此,您必须将:id
替换为实际的带照片的身份证件。您要求的外观如下:
https://api.unsplash.com/photos/nDV6ahWLvEg?client_id=YOUR_ACCESS_KEY