使用 Unsplash API
入门
本指南介绍了世界上最强大的照片引擎 Unsplash JSON API 的组成部分。
如果您熟悉 Unsplash 并且有任何问题或要求,请联系我们的 API 团队。
创建开发者账户
要访问 Unsplash API,首先要注册为开发者。
注册你的应用程序
注册完 API 账户后,登录并进入开发者页面。进入“您的应用程序”,点击“新应用程序”,填写所需的详细信息。
最初,您的应用将处于开发模式,每小时请求数限制为 50 次。当您准备好制作应用时,上传应用的屏幕截图(重点关注应用中 Unsplash 照片的正确归属和使用),然后单击“请求批准”按钮。如果获得批准,您的速率限制将增加到允许的最大数量。
遵循API 指南的应用程序将获得优先考虑,包括正确提供摄影师和 Unsplash 的归属。
图书馆
为了尽可能轻松地集成 Unsplash API,请参阅PHP、Ruby和Javascript的官方库。
指南与信用
热链接
与大多数 API 不同,我们更希望 API 返回的图像 URL 直接使用或嵌入到您的应用程序中。此嵌入过程通常称为热链接。通过使用我们的 CDN 并将照片 URL 嵌入到您的应用程序中,我们可以更好地跟踪照片浏览量并将这些统计数据传递给摄影师,为他们提供有关其照片受欢迎程度及其使用方式的背景信息。
架构
地点
API 可在https://api.unsplash.com/上获取。响应以 JSON 格式发送。
版本
所有请求都会收到API 的v1版本。我们鼓励您通过Accept-Version标头专门请求此版本:
接受版本:v1
摘要对象
检索对象列表时,将返回该对象的缩写或摘要版本 - 即其属性的子集。要获取该对象的完整详细版本,请单独获取它。
HTTP 动词
Unsplash API 使用适合每个操作的 HTTP 动词。
动词 | 描述 |
---|---|
得到 | 正在检索资源。 |
邮政 | 创建资源。 |
放 | 正在更新资源。 |
删除 | 正在删除资源。 |
错误消息
如果发生错误,无论是在服务器端还是客户端,错误消息都将返回到错误数组中。例如:
422 Unprocessable Entity
{
"errors": ["Username is missing", "Password cannot be blank"]
}
授权
公共行动
许多操作无需特定用户进行身份验证即可执行。例如,下载照片不需要用户登录。
要以这种方式验证请求,请通过 HTTP 授权标头传递您的应用程序 ID:
Authorization: Client-ID YOUR_APPLICATION_ID
您还可以使用client_id查询参数传递该值:
https://api.unsplash.com/photos/?client_id=YOUR_APPLICATION_ID
如果仅发送您的应用程序 ID,尝试执行需要用户授权的非公开操作将导致401 未授权响应。
用户身份验证
Unsplash API 使用 OAuth2 对 Unsplash 用户进行身份验证和授权。Unsplash 的 OAuth2 路径位于https://unsplash.com/oauth/。
授权工作流程
下面详细介绍了此过程。但是,有许多库可以简化此过程。如果您正在使用Unsplash API 客户端库之一,请参阅其文档以了解如何处理用户身份验证。
- 使用以下查询参数将用户定向到https://unsplash.com/oauth/authorize :
参数 | 描述 |
---|---|
客户端 ID | 您的申请 ID。 |
重定向 uri | 您控制的处理成功用户授权的 URI。 |
响应类型 | 您正在请求的访问响应类型。Unsplash 支持的授权工作流程需要此处的值“code”。 |
范围 | 请求范围的+分隔列表。例如public+read_user |
If necessary the user will be asked to log in. They will be presented with the list of permission scopes being requested and asked to authorize.
如果用户接受请求,则用户将被重定向到 redirect_uri ,并使用code查询参数中的授权码。
使用以下参数向https://unsplash.com/oauth/token发出 POST 请求:
参数 | 描述 |
---|---|
客户端 ID | 您的申请 ID。 |
客户端机密 | 您的申请秘密。 |
重定向 uri | 您的应用程序的重定向 URI。 |
代码 | Unsplash 提供给回调的授权码。 |
授权类型 | 值“authorization_code”。 |
If successful, the response body will be a JSON representation of your user's access token:
{
"access_token": "091343ce13c8ae780065ecb3b13dc903475dd22cb78a05503c2e0c69c5e98044",
"token_type": "bearer",
"scope": "public read_photos write_photos",
"created_at": 1436544465
}
Access tokens do not expire.
在将来的请求中,通过 HTTP 授权标头发送 OAuth Bearer 访问令牌:
授权:持有者 ACCESS_TOKEN
权限范围
要代表用户写入数据或访问其私有数据,您必须向他们请求额外的权限范围。这些范围包括:
范围 | 描述 |
---|---|
民众 | 默认。读取公共数据。 |
读取用户 | 访问用户的私人数据。 |
写用户 | 更新用户的个人资料。 |
阅读照片 | 从用户的照片中读取私人数据。 |
<font style="vertical-alig |
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~