Sonos cancelAudioClip API 返回 415 HTTP 响应
Posted
技术标签:
【中文标题】Sonos cancelAudioClip API 返回 415 HTTP 响应【英文标题】:Sonos cancelAudioClip API returns 415 HTTP response 【发布时间】:2021-07-19 21:15:07 【问题描述】:我可以播放音频剪辑,但是当我尝试使用记录的 API 取消剪辑时,我收到 415 不支持的媒体类型错误,并带有以下错误文本:
RESTEASY003065:无法使用内容类型
令人困惑的部分是请求是一个 HTTP DELETE 动词,我没有提供附加的正文/内容,因为 API 没有要求 (https://developer.sonos.com/reference/control-api/audioclip/cancelaudioclip/)。
请注意 SONOS 文档中描述为“/players/playerId/audioClip/id”的 API 与页面底部包含路径中的家庭的示例之间存在不一致。
以下是我发送的 API 示例: https://api.ws.sonos.com/control/api/v1/players//audioClip/
有什么技巧可以让它发挥作用吗?这是 SONOS 实现中的错误吗?
【问题讨论】:
【参考方案1】:2021 年 8 月 2 日编辑:我已在内部检查过,此 API 无法通过云使用,只能通过 LAN 使用。我会要求将此页面从 Cloud Control API 文档中删除。
您看到的第一个错误 (RESTEASY) 是由于未在请求中明确设置 Content-Type 标头引起的 - 即使在没有正文/内容的请求上也是如此。 header的值应该是application/json,像这样:
内容类型:application/json
添加 Content-Type 标头后,会出现以下错误:
"errorCode":"ERROR_UNSUPPORTED_COMMAND","reason":"Command not found"
这是预期的,因为此 API 无法通过 Cloud Control API 使用。我在内部询问过何时通过云启用此功能,但没有添加它的计划或时间表。
【讨论】:
感谢您的回复。我向 DELETE API 添加了一个空的 JSON 正文。我尝试了两种 API 形式,并且 get command not found 两种 API 的错误:家庭 API:DELETE api.ws.sonos.com/control/api/v1/households/<MY HOUS ID>/players/以上是关于Sonos cancelAudioClip API 返回 415 HTTP 响应的主要内容,如果未能解决你的问题,请参考以下文章