【问题标题】:Sonos Music API service reporting and manifest fileSonos Music API 服务报告和清单文件
【发布时间】:2019-08-27 05:10:26
【问题描述】:

我们已经构建了一个提供有声读物的 SMAPI 实现。我们能够浏览书籍并播放它们,但我们遇到了让报告正常工作的问题。我们看到 SMAPI 的报告端点是 deprecated,因此我们正尝试遵循 "Add reporting" page 的指示。

我们在https://<our_service>/v1/reporting 添加了一个报告路径,并在该基本路径之外添加了对/context/timePlayed 的请求的端点。我们可以自己直接打他们,所以他们跑了。

我们还在https://<our_service>/v1/files/manifest.json 创建并托管了一个清单文件,我们还可以直接点击它并获取 JSON 文件。

{
  "schemaVersion": "1.0",
  "endpoints": [
    {
      "type": "reporting",
      "uri": "https://<our_service>/v1/reporting"
    }
  ],
  "strings": {
    "uri": "https://<our_service>/v1/files/strings.xml",
    "version": 1
  }
}

之后,我们添加了使用customsd page 进行测试的服务。我们仍然能够导航菜单和播放有声读物,但 Sonos 似乎将弃用的报告请求发送到我们的 SOAP 服务,而不是新的报告端点。

我们发现this question 似乎有人在使用 SMAPI 实现以及新端点,但我们无法弄清楚我们正在做的不同导致问题的原因。任何想法或建议将不胜感激。

【问题讨论】:

    标签: sonos


    【解决方案1】:

    您的报告端点和清单 Uri 的版本号似乎不受支持。不支持v1。可接受的版本号为v1.0v2.0 或更高版本。供参考,请参阅:

    更新了更多细节:

    • endpoint结尾不一定要有report,可以随便调用。
    • 顺序无关紧要。 /v2.1/reporting/stuff/report/v2.3 都有效。
    • 报告端点不必是 HTTPS,它可以是不安全的 HTTP。
    • 清单 URL 不能不安全,它必须使用 HTTPS。

    【讨论】:

    • 我们在报告路径中列出的v1 与Sonos 无关。我们只是把它放在那里,这样我们就可以对自己的服务进行版本控制。但我对云队列 url 要求有点困惑。我链接的问题中的人能够使用带有/flight/radio 基本路由的报告进行报告,其中根本不包含版本号。 “添加报告”页面上的示例以 /report 结尾,而不是版本号。
    • 我们尝试将报告路由更改为 /reporting/v2.3 以尝试包含 Cloud Queue 版本,并更改​​为 /reporting 以尝试不包含任何版本,但 Sonos 似乎仍在发出已弃用的 SMAPI 请求,而不是使用我们指定的报告端点。
    • 版本号变为/report之前。当您将其指定为不安全的 URL http://&lt;our_service&gt;/v2.3/report 时,您能否确认您的清单“报告”端点 URI 不起作用?
    • 我们将报告网址调整为http://&lt;our_service&gt;/v2.3/report。它没有做任何事情,但看起来 Sonos 没有检索我们的清单文件。清单文件是否也需要特殊路径?
    • 刚刚与Engineering澄清:*端点不必在最后有报告,它可以被称为任何东西。 * 顺序也无所谓,所以/v2.1/reporting/stuff/report/v2.3 都有效。 * 报告端点不一定是 HTTPS,它可以是不安全的 HTTP。 * 但是,清单 URL 不能不安全,它必须使用 HTTPS。我正在等待工程部门提供有关如何解决您的问题的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 2011-06-15
    相关资源
    最近更新 更多