Я пытаюсь создать плейлист с помощью 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, который просто плохой запрос.
Спасибо за использование моей библиотеки.
плейлисты на 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.
Спасибо и веселитесь!
Других решений пока нет …