Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SoundCloud API为用户显示播放计数_Api_Soundcloud - Fatal编程技术网

如何使用SoundCloud API为用户显示播放计数

如何使用SoundCloud API为用户显示播放计数,api,soundcloud,Api,Soundcloud,我正在尝试使用SoundCloud API显示特定SoundCloud用户的总轨迹视图(“播放计数”) 根据API文档,我使用以下函数调用获取信息: http://api.soundcloud.com/tracks/13158665.json?client_id=YOUR_CLIENT_ID 这很好,因为它显示的是数字“13158665” 这个号码是多少?是trackid吗 我需要使用用户用户名获取用户的“播放次数” 我尝试使用以下方法从用户名获取用户ID: $soundcloud_plays

我正在尝试使用SoundCloud API显示特定SoundCloud用户的总轨迹视图(“播放计数”)

根据API文档,我使用以下函数调用获取信息:

http://api.soundcloud.com/tracks/13158665.json?client_id=YOUR_CLIENT_ID
这很好,因为它显示的是数字“13158665”

这个号码是多少?是trackid吗

我需要使用用户用户名获取用户的“播放次数”

我尝试使用以下方法从用户名获取用户ID:

$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'];
这将返回用户ID:3207181

现在,我试图将该响应替换为上一个URL以获取“播放计数”,但失败了

$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'];
任何指导都将不胜感激


谢谢。

第一个数字是曲目的id,第二个数字是用户的id

现在您已经有了用户id,您将需要获取他们的每个曲目,并统计它们播放了多少次

首先,获取用户制作的所有曲目的id号

获取:/users/{id}/tracks:用户的曲目列表

$json = wp_remote_get("http://api.soundcloud.com/users/3207181/tracks.json?client_id=".$soundcloud_playsAPI);
现在,您有了一个曲目ID列表,因此需要获取每个曲目并保存每个曲目的播放计数

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

以下是完整的解决方案:

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);

            });
        };

};

你说“特定用户的总轨迹视图”是什么意思?特定用户听特定歌曲的次数?我正在尝试获取用户播放歌曲的总次数。播放的所有歌曲的总数。一个用户可能有3首歌,每首歌听了3次。总数将是9场比赛。感谢希瑟的指导。这使我走上了正确的道路。我已经能够从用户名中获取用户Id并将其传递到“tracks”json URL。我只是不知道如何在所有曲目上循环并获得所有曲目的最终“播放计数”。我对曲目ID列表和获得每个曲目的想法是错误的。您只需迭代给定用户的所有轨迹,并收集每个轨迹对象的播放计数。我在下面发布了一个完整的解决方案。非常感谢你对希瑟的帮助。我很感激。