1

我在与 Sonos 的后端集成方面遇到了下一个问题。

根集合包含一些集合,如精选播放列表、精选版本、我的播放列表、收藏曲目、收藏版本。

前两个集合包含数据,并且在 Sonos 控制器上可见。但其他“用户”集合在 Sonos 上是空的。

API 的响应是相同的,两者都有数据。请参阅下面的请求/响应(来自自测试工具)。

MediaCollection 定义:

<ns1:mediaCollection>
               <ns1:id>FEATURED_PLAYLISTS</ns1:id>
               <ns1:itemType>collection</ns1:itemType>
               <ns1:title>Featured Playlists</ns1:title>
            </ns1:mediaCollection>
<ns1:mediaCollection>
               <ns1:id>FAVOURITE_PLAYLISTS</ns1:id>
               <ns1:itemType>collection</ns1:itemType>
               <ns1:title>Favourite Playlists</ns1:title>
            </ns1:mediaCollection>

请求 1 (WORKS): getMetadata(FEATURED_PLAYLISTS, 0, 100, None)

<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>21743ab4b6413a5e5b4a7e50b7cf57bd45a2e969</tns:sessionId>
      </tns:credentials>
   </SOAP-ENV:Header>
   <ns0:Body>
      <ns1:getMetadata>
         <ns1:id>FEATURED_PLAYLISTS</ns1:id>
         <ns1:index>0</ns1:index>
         <ns1:count>100</ns1:count>
      </ns1:getMetadata>
   </ns0:Body>
</SOAP-ENV:Envelope>

回应1:

<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>91</ns1:count>
            <ns1:total>91</ns1:total>
            <ns1:mediaCollection>
               <ns1:id>PLAYLIST:65002</ns1:id>
               <ns1:itemType>playlist</ns1:itemType>
               <ns1:title>Klassiske album</ns1:title>
               <ns1:canPlay>true</ns1:canPlay>
               <ns1:canEnumerate>true</ns1:canEnumerate>
               <ns1:canCache>true</ns1:canCache>
               <ns1:albumArtURI>http://example.com/1_200.jpg</ns1:albumArtURI>
            </ns1:mediaCollection>
            <ns1:mediaCollection>
               <ns1:id>PLAYLIST:132</ns1:id>
               <ns1:itemType>playlist</ns1:itemType>
               <ns1:title>Nytt og norsk</ns1:title>
               <ns1:canPlay>true</ns1:canPlay>
               <ns1:canEnumerate>true</ns1:canEnumerate>
               <ns1:canCache>true</ns1:canCache>
               <ns1:albumArtURI>http://example.com/2_200.jpg</ns1:albumArtURI>
            </ns1:mediaCollection> ...

请求 2(不工作):getMetadata(FAVOURITE_PLAYLISTS, 0, 100, None)

<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>21743ab4b6413a5e5b4a7e50b7cf57bd45a2e969</tns:sessionId>
      </tns:credentials>
   </SOAP-ENV:Header>
   <ns0:Body>
      <ns1:getMetadata>
         <ns1:id>FAVOURITE_PLAYLISTS</ns1:id>
         <ns1:index>0</ns1:index>
         <ns1:count>100</ns1:count>
      </ns1:getMetadata>
   </ns0:Body>
</SOAP-ENV:Envelope>

回应 2:

<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>5</ns1:count>
            <ns1:total>5</ns1:total>
            <ns1:mediaCollection>
               <ns1:id>PLAYLIST:75151</ns1:id>
               <ns1:itemType>playlist</ns1:itemType>
               <ns1:title>Rockfestival 2015</ns1:title>
               <ns1:canPlay>true</ns1:canPlay>
               <ns1:canEnumerate>true</ns1:canEnumerate>
               <ns1:canCache>true</ns1:canCache>
               <ns1:albumArtURI>http://example.com/3_200.jpg</ns1:albumArtURI>
            </ns1:mediaCollection>
            <ns1:mediaCollection>
               <ns1:id>PLAYLIST:40732</ns1:id>
               <ns1:itemType>playlist</ns1:itemType>
               <ns1:title>New tracks</ns1:title>
               <ns1:canPlay>true</ns1:canPlay>
               <ns1:canEnumerate>true</ns1:canEnumerate>
               <ns1:canCache>true</ns1:canCache>
               <ns1:albumArtURI>http://example.com/4_200.jpg</ns1:albumArtURI>
            </ns1:mediaCollection> ...

问题:为什么 Sonos 上缺少用户数据?

编辑1:

竞争 getMetadata 响应:

<?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>5</ns1:count>
           <ns1:total>5</ns1:total>
           <ns1:mediaCollection>
              <ns1:id>PLAYLIST:75151</ns1:id>
              <ns1:itemType>playlist</ns1:itemType>
              <ns1:title>Malakoff Rockfestival 2015</ns1:title>
              <ns1:canPlay>true</ns1:canPlay>
              <ns1:canEnumerate>true</ns1:canEnumerate>
              <ns1:canCache>true</ns1:canCache>
              <ns1:albumArtURI>http://static.beat.no/covers/7d/static/img/sleeveart/00/033/740/0003374041_200.jpg</ns1:albumArtURI>
           </ns1:mediaCollection>
           <ns1:mediaCollection>
              <ns1:id>PLAYLIST:40732</ns1:id>
              <ns1:itemType>playlist</ns1:itemType>
              <ns1:title>Anbefalte nye låter</ns1:title>
              <ns1:canPlay>true</ns1:canPlay>
              <ns1:canEnumerate>true</ns1:canEnumerate>
              <ns1:canCache>true</ns1:canCache>
              <ns1:albumArtURI>http://static.beat.no/covers/7d/static/img/sleeveart/00/047/247/0004724773_200.jpg</ns1:albumArtURI>
           </ns1:mediaCollection>
           <ns1:mediaCollection>
              <ns1:id>PLAYLIST:9318</ns1:id>
              <ns1:itemType>playlist</ns1:itemType>
              <ns1:title>Beat Topp 20</ns1:title>
              <ns1:canPlay>true</ns1:canPlay>
              <ns1:canEnumerate>true</ns1:canEnumerate>
              <ns1:canCache>true</ns1:canCache>
              <ns1:albumArtURI>http://static.beat.no/covers/7d/static/img/sleeveart/00/046/345/0004634531_200.jpg</ns1:albumArtURI>
           </ns1:mediaCollection>
           <ns1:mediaCollection>
              <ns1:id>PLAYLIST:15803</ns1:id>
              <ns1:itemType>playlist</ns1:itemType>
              <ns1:title>Cupfinale!</ns1:title>
              <ns1:canPlay>true</ns1:canPlay>
              <ns1:canEnumerate>true</ns1:canEnumerate>
              <ns1:canCache>true</ns1:canCache>
              <ns1:albumArtURI>http://static.beat.no/covers/7d/static/img/sleeveart/00/001/351/0000135178_200.jpg</ns1:albumArtURI>
           </ns1:mediaCollection>
           <ns1:mediaCollection>
              <ns1:id>PLAYLIST:18477</ns1:id>
              <ns1:itemType>playlist</ns1:itemType>
              <ns1:title>Dubstep</ns1:title>
              <ns1:canPlay>true</ns1:canPlay>
              <ns1:canEnumerate>true</ns1:canEnumerate>
              <ns1:canCache>true</ns1:canCache>
              <ns1:albumArtURI>http://static.beat.no/covers/7d/static/img/sleeveart/00/044/241/0004424171_200.jpg</ns1:albumArtURI>
           </ns1:mediaCollection>
        </ns1:getMetadataResult>
     </ns1:getMetadataResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
4

0 回答 0