我试图在php中使用soundcloud api来关注用户。但是当我运行代码时,我遇到了以下错误。
警告:缺少 Services_Soundcloud::p ut() 的参数 2,在 中调用 /home/sumithost/public_html/test.php 在第 12 行和 在/home/sumithost/public_html/Soundcloud 中定义.php 636路
异常"Services_Soundcloud_Invalid_Http_Response_Code_Exception" 消息"请求的 URL 使用 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/follows/...') #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
我认为错误在于声云的放置功能.php:636
put 方法需要第二个参数。文档块注释中的描述是错误的。
/**
* 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())
我认为使用"(空字符串)作为第二个参数应该可以解决问题。
编辑:没有意识到文档块说它是可选的。不是。