【问题标题】:Sonos cancelAudioClip API returns 415 HTTP responseSonos cancelAudioClip API 返回 415 HTTP 响应
【发布时间】: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 实现中的错误吗?

【问题讨论】:

    标签: 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//audioClip/ 返回:404 - {"errorCode": "ERROR_UNSUPPORTED_COMMAND","re​​ason":"Command not found"} 仅设备 API:DELETE api.ws.sonos.com/control/api/v1/players/<My Player ID>/audioClip/ 返回:404 - {"errorCode":"ERROR_UNSUPPORTED_COMMAND","re​​ason": “找不到命令”}
    • 嗨@gambitx28 - 我已经更新了我的原始答案并进行了一些澄清。总结是第一个错误 (RESTEASY) 是由于缺少 Content-Type 标头,第二个错误 (ERROR_UNSUPPORTED_COMMAND) 是因为此 API 在 Cloud Control API 中不可用,并且未知何时添加。我会要求将其从文档中删除。
    • 您是说无法停止已开始播放的音频剪辑吗?即剪辑可以开始,但不能停止,对吗?
    • @gambitx28 - 这是正确的,并且没有关于何时通过 Cloud Control API 提供该功能的预计时间。如果您对使用能够取消音频剪辑的 LAN 控制 API 感兴趣,可以联系 developer-feedback@sonos.com。
    猜你喜欢
    • 2016-08-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多