2016-04-14 9 views
9

soundcloud JavaScript SDKを使用して1つまたは複数のトラックを含むプロファイルのみを返すようにWebアプリケーションを構築しています。soundcloud API - JSONのトラック数がプロファイルのトラック数と一致しません

私のGET要求は、それぞれtrack_countプロパティと関連する値を期待通りに含むユーザープロファイルの配列を返します。

ただし、各プロファイルへのリンクをたどると、トラック数はJSONに記載されている値と異なる場合があります(下記の画像の例を参照)。重要なのは、私の目的に関連して、これは時には0トラックのプロファイルを返すことを意味します。

これまでのテストでは、値が異なると、プロファイルのトラック数が常にJSONよりも少なくなっていました。これは、削除されたトラックや削除されたトラック(著作権侵害など)を含むことを意味しますか?

誰かがこのことを明らかにできるかどうか本当に感謝します。

ありがとうございます!

$(document).ready(function() { 
 
      SC.initialize({ 
 
      client_id: 'xxxx', 
 
      redirect_uri: 'http://localhost/callback.html' 
 
      }); 
 

 
      SC.get('/users/12490371/followers', { 
 

 
      limit: page_size, 
 
      linked_partitioning: 1 
 

 
      }).then(function(followers) { 
 

 
      $(followers.collection).each(function(i) { 
 
       //console.log(followers.collection[i].track_count) 
 

 
       if (followers.collection[i].track_count > 10 && followers.collection[i].followers_count < 500) { 
 
       $("#list").append(
 
        "<ul>" + 
 
        "<li class='username'>" + this.username + "</li>" + 
 
        "<li>" + this.followers_count + "</li>" + 
 
        "<li>" + this.track_count + "</li>" + 
 
        "<li><a href='" + this.permalink_url + "' target='_blank'>GO</a>" + "</li>" + 
 
        "</ul>" 
 
       ); 
 
       } 
 

 
      }); 
 
      }); 
 
     });
<div id="list"> 
 
    <ul> 
 
    <li class='username'>Username</li> 
 
    <li>Followers</li> 
 
    <li>Track count</li> 
 
    <li>Profile</li> 
 
    </ul> 
 
</div>

profile view JSON view

+3

ええええええええええええ、トラックがあなたに現れないかもしれないという理由はたくさんあります。それはトラックの権利保持者によって取り下げられ、アップローダによってプライベートにされたり削除されたりすることができます(またはこれは難しいものです)。フェッチされるたびにユーザーのすべてのトラックのポリシーを計算することは、あまり実行可能ではないため、この番号は(要求するユーザーとその場所によって)不正確になることがあります。 – nickf

+0

感謝のニック、それは理にかなっています。あなたが私に戻ってくれたことを感謝します。あなたはそれが「実現可能ではない」と言っています、これは将来の更新で実現可能であるかもしれませんか? – samnicho

+0

いいえ、申し訳ありませんが、私はそれではっきりしていたはずです。 – nickf

答えて

0

あなたの質問に答えるために、間違いなくSoundCloudがAPIは関係なく、それらのトラックが(公共の場であるかの状態、アーティストからすべてのトラックを返さないようです、プライベートなど)。

残念ながら、Sound Cloudは、アーティストのコンテンツが埋め込みの面でどのように扱われているか、他のサイトで使用されているか厳格であることで有名です。通常、私の理解からはアーティストに任されていますが、一般的には、レコード会社などと契約している場合は、アーティストのコンテンツを保護したいと考えています。

あなたのウェブアプリケーションに関しては、より関連性の高い情報を得ることができる何らかの種類のスクレーパーを作成できない限り、それを回避するか、完全に捨てる必要があります。しかし、あなたのサイトがサイトから直接音楽を再生したい場合、あなたは犠牲になっているかもしれません。

関連する問題