我在与 Sonos 进行后端集成时遇到问题。
- API已经按照Sonos提供的WSDL实现
- API 返回容器 X 的数据
- 所有测试均在 Sonos 的自测工具中通过
但是,当我尝试将集成提交给 Sonos 进行审核时,我收到了来自 Sonos 的提交拒绝,原因如下:
- 访问 X 容器中的内容时“没有可用的选择”。
问题是官方文档(和拒绝消息)没有关于此类错误消息的任何详细信息。
那是什么意思?
编辑:
getMetadata 请求(来自自测工具的 smapiConfig-DEBUG.log):
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sonos.com/Services/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://www.sonos.com/Services/1.1" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<tns:credentials>
<tns:deviceId>00-00-00-00-00-00:Z</tns:deviceId>
<tns:deviceProvider>Sonos</tns:deviceProvider>
<tns:sessionId>123</tns:sessionId>
</tns:credentials>
</SOAP-ENV:Header>
<ns0:Body>
<ns1:getMetadata>
<ns1:id>FEATURED_RELEASES</ns1:id>
<ns1:index>0</ns1:index>
<ns1:count>100</ns1:count>
</ns1:getMetadata>
</ns0:Body>
</SOAP-ENV:Envelope>
获取元数据响应:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns1="http://www.sonos.com/Services/1.1" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:getMetadataResponse>
<ns1:getMetadataResult>
<ns1:index>0</ns1:index>
<ns1:count>100</ns1:count>
<ns1:total>100</ns1:total>
<ns1:mediaCollection>
<ns1:id>ALBUM:104567018</ns1:id>
<ns1:itemType>album</ns1:itemType>
<ns1:title>Communion</ns1:title>
<ns1:artist>Years & Years</ns1:artist>
<ns1:artistId>ARTIST:101412542</ns1:artistId>
<ns1:canPlay>true</ns1:canPlay>
<ns1:canEnumerate>true</ns1:canEnumerate>
<ns1:canCache>true</ns1:canCache>
<ns1:albumArtURI>https://example.com/0004567018_200.jpg</ns1:albumArtURI>
</ns1:mediaCollection>
<ns1:mediaCollection>
<ns1:id>ALBUM:104567238</ns1:id>
<ns1:itemType>album</ns1:itemType>
<ns1:title>The Way Back Up</ns1:title>
<ns1:artist>Prides</ns1:artist>
<ns1:artistId>ARTIST:102159674</ns1:artistId>
<ns1:canPlay>true</ns1:canPlay>
<ns1:canEnumerate>true</ns1:canEnumerate>
<ns1:canCache>true</ns1:canCache>
<ns1:albumArtURI>https://example.com/0004567238_200.jpg</ns1:albumArtURI>
</ns1:mediaCollection>
<!-- ... other 98 mediaCollections ... -->
</ns1:getMetadataResult>
</ns1:getMetadataResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>