API Soundcloud — получение подписчиков пользователей в определенном порядке

Недавно у меня появилась идея сделать расширение для Chrome для собственных целей, которое должно использовать SoundCloud API. Но я обнаружил, что функциональность API довольно ограничена или, возможно, те функции, которые мне нужны, не задокументированы / я просто не нашел ответа. Например, прежде всего я хотел бы получить подписчиков некоторых пользователей в определенном порядке. Чтобы уточнить, ответ должен быть отсортирован по числу подписчиков -> по убыванию. Таким образом, первым подписчиком в ответе должен быть подписчик с максимальным количеством подписчиков вокруг ВСЕХ подписчиков пользователя, для которого мы сделали этот запрос. И так далее. После долгих поисков в @ google я нашел старую ветку, где парень спрашивал о подобной функции, и кто-то из службы поддержки SC сказал ему использовать «& order = value» в запросе, который работал нормально, но устарел и не работает. в настоящее время. Я хотел бы знать, возможно ли это в данный момент, и если нет, можем ли мы ожидать, что эта функция будет добавлена ​​в ближайшее время? Я считаю, что это совсем не сложная вещь.

Короче говоря, мне нужно получить количество подписчиков в определенном порядке. Это первый вопрос. Если мы добьемся успеха здесь, мы пойдем глубже. Спасибо вперед. Любая помощь высоко ценится.


person yegorchik    schedule 03.05.2016    source источник


Ответы (1)


Предположим, вы хотите получить подписчиков пользователей в порядке убывания из Souncloud.

Предположим, у нас есть пять пользователей с URL-адресами профилей Sound-Cloud.

  1. https://soundcloud.com/drop-the-bassline
  2. https://soundcloud.com/certifiedjackin
  3. https://soundcloud.com/ravingkoko
  4. https://soundcloud.com/twenty4sevenedm
  5. https://soundcloud.com/pr-gangstahouse

Код

// Need Soundcloud SDK
require_once 'Services/Soundcloud.php';

// Create Object 
$client = new Services_Soundcloud(CLIENT_ID, CLIENT_SECRET);

$result = array();
$urls = array(array
                (
                    'link' => 'https://soundcloud.com/drop-the-bassline',
                ),
             array
                (
                    'link' => 'https://soundcloud.com/certifiedjackin',
                ),
            array
                (
                    'link' => 'https://soundcloud.com/ravingkoko',
                ),
            array
                (
                    'link' => 'https://soundcloud.com/twenty4sevenedm',
                ),
            array
                (
                    'link' => 'https://soundcloud.com/pr-gangstahouse',
                )
                );

foreach($urls as $key=>$u){
    try{
         $response = json_decode($client->get('resolve', array('url' => $u['link']), array(CURLOPT_FOLLOWLOCATION => true)));
         $result[$key]['followers_count']= $response->followers_count;
    }catch(Services_Soundcloud_Invalid_Http_Response_Code_Exception $e){
         echo $e->getMessage(); 
    }

}

foreach ($result as $key => $row) {
    // replace 0 with the field's index/key
    $dates[$key]  = $row['followers_count'];
}
array_multisort($dates, SORT_DESC, $result);
//echo"<pre>";print_r($result);echo"</pre>";

$data содержат необходимую информацию.

person Ashish Chaturvedi    schedule 10.05.2016