Sonos API 在 return 中发送的授权码太短?

Sonos API sends too short auth code in return?

向所有聪明人寻求帮助、提示和技巧:)

我想将我的 NodeRed 实例连接到 Sonos API 以各种方式控制我的扬声器。然而,在 OAUTH 过程中,在使用我的帐户的用户名和密码登录后,通过我的 redirect_uri 发回给我的授权码似乎太短了?在开发人员指南中,示例授权代码如下所示: f10072fa6-2134-4fe1-93fd-ca5b9cffa738 在我的例子中,我只收到第一部分,直到第一个破折号。例如:f10072fa6

起初我 运行 通过 NetScaler 连接,然后我改为使用 Nginx 反向代理,认为 Netscaler 可能截断了 URL(出于某些非常奇怪的原因),但是结果是一样的..

有人有想法吗?

您收到的授权码是正确的。最近更改了授权代码格式,需要更新文档以反映这一点。 .

也回答了这个问题

谢谢! -马克

您还可以使用 nodered-sonos 来控制您的扬声器。无需设置 oauth2 和使用基于云的 api,如果您还可以对扬声器进行超快速本地控制。

我结合使用以下工具来全面控制扬声器:

  • 你选择的MQTT服务器在Docker(我用的是emqx)
  • Sonos2mqtt,我自己的应用程序将 sonos 连接到 mqtt in docker
  • 具有正常 mqtt in/out 流的红色节点。

我最喜欢的流量:

  • 如果群组开始播放,则将播放栏加入群组
  • 暂停组是播放栏离开组(如果我打开电视它会离开,那应该停止音乐)
  • 如果有人按门铃,则播放铃声(在所有扬声器上)
  • 开启后门时通告(text-to-speech)