更改soundCloud播放器的购买标题

时间:2012-08-19 18:31:09

标签: php api soundcloud

我使用脚本php-soundcloud(Oauth 2)并想要更改购买链接的标题(购买此曲目)。
我可以更新链接,但我无法更改链接文本。

soundcloud purchase

我使用此代码:

$soundcould->put('https://api.soundcloud.com/tracks/56649403', array(
  'track[purchase_url]' => 'http://website.com/', 
  'track[purchase_title]' => 'Support me' // whitout this, it work
));

但它返回一个错误:请求的网址以HTTP code 422回复。

当我删除track[purchase_title]时,它会起作用,所以问题就在于变量!

更改链接标题必须是特别的东西吗? Soundcloud对其API的使用施加了限制吗? 除了更改变量purchase_title

之外,还可以创建新链接

2 个答案:

答案 0 :(得分:2)

这不起作用的原因是因为只能在高级帐户上更改purchase_url和purchase_title。我会在文档中更清楚地说明这一点!

这是一个代码示例,可以为高级帐户提供技巧:

<?php
require_once 'Services/Soundcloud.php';

$client = new Services_Soundcloud('client_id', 'client_secret', 'redirect_uri');
$client->setAccessToken('your-access-token');

$track_url = 'https://api.soundcloud.com/tracks/52652023.json';
$response = json_decode($client->put($track_url, array(
  'track[purchase_url]' => 'http://website.com',
  'track[purchase_title]' => 'Support me'
)));
?>

如果这不起作用,问题出在其他地方。给我发电子邮件,我可以帮助您进一步调试。

答案 1 :(得分:0)

我不确定但是试试看。我认为这对你有帮助: -

请参阅指南: -

http://developers.soundcloud.com/docs/api/guide

试一试

<?php
$track = <<<EOH
<track>
    <downloadable>true</downloadable>
    <purchase_url>http://website.com/</purchase_url>
    <purchase_title>true</purchase_title>
</track>
EOH;

try {
    $response = json_decode(
        $soundcloud->put(
            'tracks/1',
            $track,
            array(CURLOPT_HTTPHEADER => array('Content-Type: application/xml'))
        ),
        true
    );
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}