1

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

声云购买

我使用这段代码:

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

但它返回给我一个错误:请求的 URL 以HTTP 代码 422响应。

当我删除track[purchase_title]时,它起作用了,所以问题是那个变量!

更改链接标题必须有什么特别的吗?
Soundcloud 对其 API 的使用设置了限制?
除了更改变量之外,是否可以创建新链接purchase_title

4

2 回答 2

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'
)));
?>

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

于 2012-09-07T15:49:23.133 回答
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());
}
于 2012-09-05T09:59:59.800 回答