1

スクリプトphp- soundcloud(Oauth 2)を使用していて、購入リンクのタイトル(このトラックを購入)を変更したいと思います。
リンクを更新することはできますが、リンクのテキストを変更することはできません。

soundcloudの購入

私はこのコードを使用します:

$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 に答える