编程语言
首页 > 编程语言> > 如何使用PHP包装器创建SoundCloud播放列表

如何使用PHP包装器创建SoundCloud播放列表

作者:互联网

我正在尝试使用njasm PHP包装器创建一个播放列表,可以将其查看为here.我使用此包装器的原因是因为它允许直接用户登录.就我的目的而言,这是一项要求.

首先,我可以连接到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的播放列表非常棘手.最近,我更新了该库并测试了最新版本中的需求.

2015年4月4日更新:您需要使用最新的2.2.1稳定版本或更高版本才能使用以下示例代码.

注意:版本3.x.x仍在大量开发中,以下示例适用于2.x.x

注意:请考虑在我建议在生产中使用该版本之前,对Request对象的更改方式已经更改了对soundcloud的请求,需要进行进一步的测试. (这也是为什么我仍然没有将其标记为稳定版本的原因)

考虑到这一点,请执行以下操作:

1)下载最新的MASTER 2.2.1标记或更高版本(如果通过composer更新安装了它,则将composer.json更改为“ njasm / soundcloud”:“ dev-master”“ njasm / soundcloud”:“ 2.2.1”并运行)在开发环境中进行Composer更新.)您需要2.2.0之前的任何稳定版本,但不需要3.0.x,因为它还不稳定.

之后,尝试以下代码:

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

$soundcloud->userCredentials("user@email.com", "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();

这应该会工作.
还应考虑到,每次“ PUT”对播放列表的请求时,都必须使用该播放列表/集合中所需的所有曲目IDS构建音轨阵列,soundcloud会擦除所有曲目并插入新的曲目.

我想问你,如果您发现库中有任何问题要在github问题页面中报告.

谢谢,玩得开心!

标签:soundcloud,php
来源: https://codeday.me/bug/20191009/1878047.html