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

PHP对接LaMetric与Spotify API问题:LaMetric返回[X]求助

解决Spotify me/player/currently-playing API返回异常导致LaMetric同步失败的问题
  • 验证Spotify授权权限与Token有效性

    • 确认你的Access Token已申请user-read-currently-playing和user-read-playback-state权限,这两个是获取当前播放曲目的必填权限,缺一则会导致API返回权限错误。
    • 用curl直接测试API:
      curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.spotify.com/v1/me/player/currently-playing
      
      若返回403,说明权限不足;返回401则是Token过期,需执行刷新流程;返回204则表示当前无曲目播放。
  • 确认Spotify播放状态

    • 确保你授权的Spotify账号正在客户端(桌面/移动端/网页端)播放曲目,无播放状态时API不会返回item字段。
    • 检查是否有其他设备占用播放会话,多设备登录可能导致API无法正确获取当前播放信息。
  • 排查PHP请求逻辑

    • 检查请求头是否正确设置Authorization: Bearer {access_token},注意Bearer后的空格,拼写错误会直接导致请求失败。
    • 强制使用GET请求方式,部分错误代码可能误用POST请求该接口。
    • 打印API返回的完整响应内容,不要只判断item字段,调试代码示例:
      $context = stream_context_create([
          'http' => ['header' => "Authorization: Bearer {$access_token}\r\n"]
      ]);
      $response = file_get_contents('https://api.spotify.com/v1/me/player/currently-playing', false, $context);
      $result = json_decode($response, true);
      // 输出完整响应以便定位问题
      var_dump($result);
      
  • 优化LaMetric响应逻辑

    • 即使API无item返回,也应返回LaMetric可解析的默认内容,避免显示错误标记[X],修改分支代码:
      if (!isset($result['item'])) {
          echo json_encode([
              'frames' => [['text' => '无音乐播放', 'icon' => 'i2544']]
          ]);
          exit;
      }
      

内容的提问来源于stack exchange,提问作者Pierre-Marie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:32:16