无access token能否向Deezer协作歌单添加曲目
问题解答
不可以,你无法在未持有有效access token的情况下直接通过POST请求向Deezer协作歌单添加曲目
Deezer所有涉及用户资源修改的API接口都需要身份鉴权,哪怕是你自己创建的协作歌单,API侧也会校验请求的身份是否具备歌单的编辑权限,无token的请求会直接返回401未授权错误。
无前端服务获取access token的解决方案
你不需要部署前端服务就能拿到符合需求的长期token,按以下步骤操作即可:
- 首先进入Deezer开发者后台你的应用配置页,将重定向URI临时设置为
http://localhost,无需实际部署本地服务 - 手动拼接授权请求链接,替换其中的你的应用ID:
https://connect.deezer.com/oauth/auth.php?app_id=你的APP_ID&redirect_uri=http://localhost&perms=manage_library,offline_access,其中manage_library是修改歌单的必要权限,offline_access可以获取有效期长达1年的长期token,避免频繁重复授权 - 在本地浏览器打开上述拼接好的链接,登录你的Deezer账号并完成授权,后续浏览器会跳转到
http://localhost开头的地址,哪怕页面显示无法访问也不影响,复制地址栏URL中的code参数值 - 用上述授权码调用token兑换接口,你可以直接在浏览器地址栏访问、或者用curl发起请求均可:
https://connect.deezer.com/oauth/access_token.php?app_id=你的APP_ID&secret=你的APP_SECRET&code=之前获取的授权码,返回结果中即可提取到可用的access token
向歌单添加曲目的请求示例
你拿到token后,就可以直接调用接口添加曲目,示例curl命令如下,替换对应参数即可使用:curl -X POST "https://api.deezer.com/playlist/你的歌单ID/tracks?access_token=你获取的长期token&songs=曲目ID1,曲目ID2"
请求成功会返回true,失败会返回对应错误码和说明。
内容的提问来源于stack exchange,提问作者lukica
相关产品推荐
相关产品推荐

