字
字节笔记本
2026年2月21日
Unsplash OAuth 应用管理完全指南
API中转
¥120
本文介绍 Unsplash OAuth 应用管理后台的功能和使用方法,帮助开发者了解如何配置和管理 Unsplash API 应用程序。
Unsplash OAuth 应用管理概述
Unsplash 是全球知名的免费高质量图片平台,为开发者提供了强大的 API 接口。通过 OAuth 应用管理后台,开发者可以创建、配置和监控自己的应用程序。
应用管理后台功能
1. 应用基本信息管理
在 OAuth 应用管理页面,开发者可以查看和编辑以下信息:
- 应用名称 - 显示在授权页面的应用标识
- 应用描述 - 向用户说明应用用途
- 回调地址 (Redirect URI) - OAuth 授权后的跳转地址
- 应用图标 - 提升品牌识别度
2. API 密钥管理
每个 OAuth 应用都包含两组密钥:
| 密钥类型 | 用途 | 安全级别 |
|---|---|---|
| Access Key | 公开使用,用于图片请求 | 低 |
| Secret Key | 服务器端使用,用于用户认证 | 高 |
3. 权限范围 (Scopes)
Unsplash OAuth 支持以下权限范围:
public- 访问公开照片和用户信息(默认)read_user- 读取用户私人信息write_user- 更新用户信息read_photos- 读取用户照片write_photos- 上传和管理照片write_likes- 点赞/取消点赞照片write_followers- 关注/取消关注用户read_collections- 读取用户收藏集write_collections- 创建和管理收藏集
OAuth 授权流程
第一步:引导用户授权
text
https://unsplash.com/oauth/authorize
?client_id=YOUR_ACCESS_KEY
&redirect_uri=YOUR_REDIRECT_URI
&response_type=code
&scope=public+read_user第二步:获取授权码
用户同意后,Unsplash 会重定向到:
YOUR_REDIRECT_URI?code=AUTHORIZATION_CODE
第三步:换取访问令牌
bash
curl -X POST https://unsplash.com/oauth/token \
-d "client_id=YOUR_ACCESS_KEY" \
-d "client_secret=YOUR_SECRET_KEY" \
-d "redirect_uri=YOUR_REDIRECT_URI" \
-d "code=AUTHORIZATION_CODE" \
-d "grant_type=authorization_code"返回示例:
json
{
"access_token": "abc123",
"token_type": "Bearer",
"scope": "public read_user",
"created_at": 1234567890
}API 使用限制
开发模式限制
新创建的应用默认处于开发模式:
- 每小时 50 次请求
- 仅用于开发和测试
- 需要申请生产权限才能正式使用
生产模式
申请生产权限后:
- 每小时 1000 次请求(默认)
- 可根据需求申请更高配额
- 需要遵守 Unsplash API 使用条款
最佳实践
1. 安全存储密钥
javascript
// 使用环境变量存储敏感信息
const config = {
accessKey: process.env.UNSPLASH_ACCESS_KEY,
secretKey: process.env.UNSPLASH_SECRET_KEY,
redirectUri: process.env.UNSPLASH_REDIRECT_URI
};2. 正确处理回调
javascript
// Express 示例
app.get('/auth/callback', async (req, res) => {
const { code } = req.query;
try {
const response = await fetch('https://unsplash.com/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
client_id: config.accessKey,
client_secret: config.secretKey,
redirect_uri: config.redirectUri,
code,
grant_type: 'authorization_code'
})
});
const data = await response.json();
// 存储 access_token 到 session
req.session.unsplashToken = data.access_token;
res.redirect('/dashboard');
} catch (error) {
res.status(500).send('授权失败');
}
});3. 图片使用规范
使用 Unsplash API 获取的图片必须:
- 显示摄影师署名
- 包含 Unsplash 来源链接
- 遵守 CC0 许可协议
- 不得用于非法用途
常见问题
Q: 如何申请生产权限?
A: 在应用管理后台提交审核申请,需要提供:
- 应用演示截图
- 使用场景说明
- 预计 API 调用量
Q: 回调地址可以修改吗?
A: 可以,在应用设置中更新 Redirect URI,支持多个回调地址。
Q: 如何监控 API 使用情况?
A: 应用管理后台提供:
- 实时请求统计
- 错误率监控
- 配额使用百分比
相关链接
总结
Unsplash OAuth 应用管理后台为开发者提供了完整的 API 管理能力。通过合理配置权限、遵守使用规范,开发者可以在应用中集成数百万张高质量免费图片,为用户提供丰富的视觉体验。
分享: