You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用StoreKit请求Apple Music用户个人库返回401错误排查

Apple Music API 401错误:Developer Token可生成User Token但失效的情况分析

确实存在你描述的这种情况——developer token能成功获取user token,但调用用户个人库接口时返回401。核心原因集中在以下几点:

1. Developer Token权限范围不匹配

生成developer token时,JWT payload里的scope参数决定了它能访问的API范围。如果你的token没有包含library-read权限,requestUserToken方法依然能返回user token(该方法仅验证token的合法性,不检查权限范围),但实际调用/v1/me/library/artists这类需要访问用户个人库的接口时,会因权限不足触发401错误。

2. Developer Token的签名或核心字段错误

requestUserToken的校验逻辑比Apple Music API服务器宽松:

  • 哪怕你的token签名算法不是要求的ES256,或者iss(团队ID)、iat(签发时间)等字段填写错误,requestUserToken可能依然通过,但API服务器会严格校验这些字段,直接返回401。
  • 另外,如果你用了错误的密钥生成token(比如用了APNs密钥而非Apple Music专用密钥),也会出现这种情况。

3. User Token与Developer Token的团队ID不匹配

User token是和生成它的developer token的团队ID绑定的。如果你的应用团队ID和developer token的iss字段不一致,或者调用API时用的developer token和生成user token时的不是同一个,哪怕token本身合法,也会被API拒绝。

排查步骤

  • 本地解码你的developer token(用JWT解码工具,避免用在线工具泄露信息),检查:
    • scope字段是否包含library-read
    • iss是否是你的开发者团队ID
    • alg是否为ES256
  • 确认调用requestUserToken和API请求时用的是同一个developer token
  • 检查Authorization头格式:必须是Bearer [完整的developer token],无多余空格或截断
  • 验证你的应用Bundle ID已在Apple Developer后台开启Apple Music权限

内容的提问来源于stack exchange,提问作者Maxim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 22:36:20