0

SoundCloud API を使用して、特定の SoundCloud ユーザーの合計トラック ビュー ("playback_count") を表示しようとしています。

API ドキュメントによると、以下の関数呼び出しを使用して情報を取得します。

http://api.soundcloud.com/tracks/13158665.json?client_id=YOUR_CLIENT_ID

「13158665」という数字が表示されるので、これで問題ありません。

この数字は何ですか?トラックIDですか?

ユーザーのユーザー名を使用して、ユーザーの「playback_count」を取得する必要があります。

これを使用して Username から UserId を取得しようとしました:

$soundcloud_playsAPI = "MY_SOUNDCLOUD_API_KEY";

/* Get the SoundCloud UserId from the username */
$json = wp_remote_get("http://api.soundcloud.com/users/jwagener.json?client_id=".$soundcloud_playsAPI);

$soundcloudData = json_decode($json['body'], true);
$soundcloud_userid = $soundcloudData['id'];

これは UserId を返します: 3207181

ここで、その応答を以前の URL に置き換えて「playback_count」を取得しようとしましたが、失敗しました。

$json = wp_remote_get("http://api.soundcloud.com/tracks/3207181.json?client_id=".$soundcloud_playsAPI);
$soundcloudPlaysData = json_decode($json['body'], true);
echo $soundcloudPlaysData['playback_count'];

ガイダンスをいただければ幸いです。

ありがとう。

4

2 に答える 2

0

完全なソリューションは次のとおりです。

function listPlays() 
    {SC.initialize({  client_id: 'YOUR ID HERE'}); 
    // Get the SoundCloud UserId from the username 
    var userName="jwagener";
    SC.get("/users/"+userName,  function (users)
            {console.log(users.id);
            var myId=users.id;
            getTracks(myId);
            });

    var getTracks=function (myId)
        {var totalPlays=0;
        SC.get("/users/"+myId+"/tracks", function(getTracks)
            {for (var key in getTracks)    //get each track and look at it's playback_count
                {console.log(getTracks[key].title+"     "+getTracks[key].playback_count);
                totalPlays+=getTracks[key].playback_count;   //add the playback count for this track to the total
                }
            console.log("Total Plays for all tracks: "+totalPlays);

            });
        };

};
于 2013-03-15T05:08:08.560 に答える