我正在尝试使用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,这只是一个糟糕的请求。
答案 0 :(得分:1)
感谢您使用我的图书馆。
soundcloud上的播放列表很棘手。最近我更新了库并在最新版本中测试了你需要的内容。更新2015年4月28日:您需要使用最新的2.2.1稳定版或更高版本才能使用以下示例代码。
注意:版本3.x.x仍处于大量开发阶段,下面的示例适用于2.x.x
注意:在我建议在生产中使用该版本之前,请注意请求对象的更改方式是对声音进行声音的更改需要进一步测试。 (这也就是为什么我还没有把它标记为稳定版本)
考虑到这一点,请执行以下操作:
1)下载最新的 MASTER 2.2.1标签或更高版本(如果您通过composer update将composer.json更新为 {{ 1}}并在开发环境中运行composer update "njasm/soundcloud": "dev-master"
。)您需要2.2.0以上的任何版本,但不是3.0.x,因为它还不稳定。
之后尝试此代码:
"njasm/soundcloud": "2.2.1"
这个应该会起作用。
还要考虑到每次你" PUT"对播放列表的请求您必须使用该播放列表/集中所需的所有轨道ID来构建轨道数组,soundcloud将删除所有轨道并插入新轨道。
我想问你,如果你发现库存在任何问题,请在github问题页面报告它们。
谢谢,玩得开心!