【发布时间】:2015-11-17 09:36:57
【问题描述】:
使用 PHP Soundcloud API 已有一段时间了,它运行良好。我用来创建轨道数组的代码是(并且一直是):
$track = json_decode($client->post('tracks', array(
'track[title]' => $title,
'track[asset_data]' => $filename,
'track[description]' => $desc,
'track[genre]' => "Podcast",
'track[artwork_data]' => $image
)));
而且它一直运行良好 - 直到今天早上,当我使用自制的 PHP 工具上传曲目时收到此错误消息:
致命错误:未捕获的异常“Services_Soundcloud_Invalid_Http_Response_Code_Exception”带有消息“请求的 URL 以 HTTP 代码 422 响应。”在 /home/csicon/public_html/PodcastAuthor/lib/Soundcloud.php:943 堆栈跟踪:#0 /home/csicon/public_html/PodcastAuthor/lib/Soundcloud.php(621): Services_Soundcloud->_request('https://api.sou. ..', Array) #1 /home/csicon/public_html/PodcastAuthor/2-publish.php(52): Services_Soundcloud->post('tracks', Array) #2 {main} 在 /home/csicon/public_html 中抛出/PodcastAuthor/lib/Soundcloud.php 第 943 行
现在,我不是新手,并且知道 HTTP 代码 422 是什么,所以我检查了 $title、$filename、$desc 和 $image 的内容。它们按顺序排列:
Geekdays #274: 2015-11-17
@/home/csicon/public_html/PodcastAuthor/uploads/g274.mp3
Snowden, the FBI and the Oxford Dictionary are getting blamed for things that they may or may not have done. Also; the air you're breathing might be killing you. This, and so much more, on today's episode of Geekdays.
@/home/csicon/public_html/wp-content/uploads/2014/10/geekdays-600x600.png
检查所有路径(到 mp3 和图像),所使用的字符集没有任何问题,而且以前都可以使用。这里可能发生了什么?我被难住了。
更新!原来我的虚拟主机已经将他们的 PHP 环境从 5.4 升级到 5.6,这就是它的问题。在这种情况下,5.4 和 5.6 之间的哪些变化可能导致了这种情况?
【问题讨论】:
-
有没有 php 的文档?在 soundcloud 他们只有 python、ruby 和 js。
-
我使用的是用 PHP 编写的API Wrapper for SoundCloud。我的代码没有任何变化,但是,昨天晚上我上传了一个曲目时它工作了,然后当我上传另一首曲目时它今天不起作用。
-
你能显示 $track 变量吗?在 json_decode 之后
-
不幸的是,422 来自该行的 $client->post 部分。但是,我发送到它的数组看起来像这样:
-
array(5) { ["track[title]"]=> string(25) "Geekdays #274: 2015-11-17" ["track[asset_data]"]=> string( 56) "@/home/csicon/public_html/PodcastAuthor/uploads/g274.mp3" ["track[description]"]=> string(181) "爱德华·斯诺登,牛津词典甚至联邦调查局。他们都在责备他们可能做或可能没有做的事情。另外,你认为那是你呼吸的空气吗? ["track[genre]"]=> string(7) "Podcast" ["track[artwork_data]"]=> string(73) "@/home/csicon/public_html/wp-content/uploads/2014/10/ geekdays-600x600.png" }
标签: php soundcloud