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

Spotify Web应用保存播放列表时fetch API抛出TypeError问题排查请求

排查Spotify API /me端点Fetch请求的TypeError问题

这个错误我之前踩过一模一样的坑!它本质是fetch请求的参数(大概率是请求头或者配置对象)格式不符合浏览器要求,咱们一步步捋:

  • 先盯紧请求头的写法:Spotify API要求Authorization头必须是Bearer <你的访问令牌>,而且headers得是普通的键值对对象,不能搞成数组或者FormData这类奇怪的类型。举个我之前犯过的反例:

    // 错误写法:用了数组格式的headers
    fetch('https://api.spotify.com/v1/me', {
      headers: [['Authorization', 'Bearer ' + token]]
    })
    

    正确的打开方式应该是这样:

    fetch('https://api.spotify.com/v1/me', {
      method: 'GET',
      headers: {
        'Authorization': 'Bearer ' + yourAccessToken,
        'Content-Type': 'application/json'
      }
    })
    
  • 确认你的访问令牌没毛病:虽然报错是类型问题,但如果令牌是空字符串、undefined,或者带了多余的换行空格,也可能间接搞乱headers的结构。先在控制台console.log(yourAccessToken)看看,确保它是个合法的字符串。

  • 检查fetch的第二个参数结构:fetch的配置参数必须是一个对象,不能瞎传字符串、数组或者null。比如我见过有人犯这种低级错误:

    // 错误写法:第二个参数直接传了令牌字符串
    fetch('https://api.spotify.com/v1/me', 'Bearer ' + token)
    
  • 直接看Spotify.js第81行代码:报错行就是最直接的线索,把那行附近的代码扒出来看看——是不是构造headers的时候用了错误的语法?比如用Object.assign时传错了参数,或者不小心把headers变成了FormData?

另外补充一句:Spotify的/me端点需要授权时带user-read-private或user-read-email权限,但这个权限问题一般返回403错误,不是你现在碰到的TypeError,所以优先搞定参数格式问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:21:44