我试图在php中关注使用soundcloud api的用户。 但是当我运行代码时,我得到了以下错误。
警告:在调用的Services_Soundcloud :: put()中缺少参数2 /home/sumithost/public_html/test.php在第12行和第12行 在/home/sumithost/public_html/Soundcloud.php中定义 第636行
异常'Services_Soundcloud_Invalid_Http_Response_Code_Exception'with with 消息'请求的网址以 HTTP代码404 响应。在 /home/sumithost/public_html/Soundcloud.php:941堆栈 追踪:#0 /home/sumithost/public_html/Soundcloud.php(645): Services_Soundcloud-> _request('https://api.sou ...',Array)#1 /home/sumithost/public_html/test.php(12): Services_Soundcloud-> put('/ me / followings / ...')#2 {main} exception
我的代码如下
require_once 'Soundcloud.php';
$client = new Services_Soundcloud('xxClient-IDxx', 'xxSecretKEYxx', 'http://sumithost.uni.me/sc.php');
$client->setAccessToken('xxAccess-Tokenxx');
try {
$client->put('/me/followings/3207');
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
echo $e;
}
?>
从这里使用php sdk:https://github.com/mptre/php-soundcloud
我认为错误是在soundcloud.php的put-function中:636
答案 0 :(得分:0)
put方法需要第二个参数。 docblock注释中的描述是错误的。
/**
* Send a PUT HTTP request
*
* @param string $path Request path
* @param array $postData Optional post data
* @param array $curlOptions Optional cURL options
*
* @return mixed
*
* @access public
* @see Soundcloud::_request()
*/
function put($path, $postData, $curlOptions = array())
我认为使用''(空字符串)作为第二个参数应该可以解决问题。
编辑:没有意识到docblock说它是可选的。它不是。