Как создать плейлист SoundCloud с помощью PHP-оболочки

Я пытаюсь создать плейлист с помощью PHP-оболочки njasm, которую можно просмотреть Вот. Причина, по которой я использую эту обертку, заключается в том, что она допускает прямой вход пользователя. И для моих целей это требование.

Позвольте мне начать с того, что я могу подключиться к API; прежде чем пытаться создать список воспроизведения, я делаю несколько запросов на получение определенной информации.

Прямо сейчас я пытаюсь это

$response = $facade->post('/playlists', $prepaired_post_array)->request();

$prepaired_post_array содержит

[0] = playlist[title]=LA Sun
[1] = &playlist[tracks][][id]=102981743
[2] = &playlist[tracks][][id]=93248225
[3] = &playlist[tracks][][id]=25780933

Это утверждение возвращает код 422. Который, согласно SoundClouds API, близко к чему-то правильному, но что-то напутало. Я пробовал несколько разных вещей, но все остальное просто возвращает код 400, который просто плохой запрос.

1

Решение

Спасибо за использование моей библиотеки.

плейлисты на Soundcloud сложно. Недавно я обновил библиотеку и проверил, что вам нужно в последней версии.

ОБНОВЛЕНИЕ 28-04-2015: вам понадобится последняя стабильная версия 2.2.1 или выше, чтобы использовать приведенный ниже пример кода.

Примечание: версия 3.x.x все еще находится в стадии разработки, пример ниже для 2.x.x

Примечание: примите во внимание, что объект Request был изменен в способе отправки запросов в soundcloud. Необходимы дальнейшие тесты, прежде чем я порекомендую использовать эту версию в производстве. (и поэтому я до сих пор не отметил его как стабильную версию)

Имея это в виду, сделайте это:

1) Скачать последнюю версию МАСТЕР 2.2.1, или выше (если вы установили его через обновление composer, вы должны загрузить composer.json в "njasm/soundcloud": "dev-master" "njasm/soundcloud": "2.2.1" и запустите обновление композитора в среде разработки.) Вам понадобится любая стабильная версия выше 2.2.0, но не 3.0.x, поскольку она еще не стабильна.

после этого попробуйте этот код:

// initialize Soundcloud
// auth via User Credential Flow
$soundcloud = new \Njasm\Soundcloud\SoundcloudFacade(
$clientID, $clientSecret
);

$soundcloud->userCredentials("[email protected]", "user_password");

// build playlist main array
$playlistData = array(
"playlist" => array(
"title" => "My2 great Title Playlist!",
"sharing" => "public", // or private
)
);

//create playlist at soundcloud and grab the response
$response = $soundcloud->post('/playlists', $playlistData)->request();

// build tracks array
$tracks = array(
"playlist" => array(
"tracks" => array(
array("id" => 29720509), // Connect the Dots
array("id" => 26057359) // Forgotten Values
)
)
);

// put tracks into playlist
$response = $soundcloud->put(
'/playlists/' . $response->bodyObject()->id,
$tracks
)->request();

var_dump($response->bodyArray());
die();

это Должен буду работать.
Примите также во внимание, что каждый раз, когда вы «ЗАДАВАЕТЕ» запрос к плейлисту, вам нужно создать массив треков со всеми IDS треков, которые вы хотите в этом плейлисте / наборе, soundcloud сотрет все треки и вставит новые.

Я хотел бы спросить вас, если вы найдете какие-либо проблемы с библиотекой, чтобы сообщить о них на странице проблем GitHub.

Спасибо и веселитесь!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]