このような URL にアクセスすると 404 が返されます (offc. 変数を適切な値に変更):
PUT https://api.soundcloud.com/groups/<group_id>/pending_tracks/<track_id>
同じ URL での呼び出しDELETE
は期待どおりに機能し、グループからの送信は拒否されます。シンプルなリクエストGET .../pending_tracks
(最後にトラックIDなし)はうまくいきます。
これをテストするためにこれまでに使用したツールは次のとおりです。
- 公式 PHP ライブラリ (mptre による)、
- 手動で構築された cURL リクエスト、
- Windows 上の cURL バイナリ
この API メソッドをどのように使用すべきか、またはどのように使用できるかについて、SoundCloud API ドキュメント (またはインターネット) で情報を見つけることができませんでした。適切にアクセスする方法について誰かが私を助けてくれる可能性があれば、次の質問があります。
- 正しいURLは何ですか
- 存在する場合、クエリデータとして期待されるもの
- クエリ本文がある場合、およびその形式は何ですか。
詳細:
呼び出すPUT /groups/44/pending_tracks/99119291
と 404 が返されるので、トラック ID を別の方法で指定する必要があることがわかりました。PHP ラッパーを掘り下げ、インターネット上に散らばっている情報を収集することで、一部の PUT 要求は CURLOPT_POSTFIELDS で補完され、他の要求は本文に XML が含まれていることがわかりました。これまでのところ、ポストフィールドアプローチを使用しました。
私のcurlバイナリ設定は次のようになります:
--url https://api.soundcloud.com/groups/44/pending_tracks
--cacert cacert.pem
--user-agent PHP-SoundCloud
--header "Accept: application/json"
--header "Authorization: OAuth XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
--request PUT
--data <!--read on please-->
データ セクションは、次のような文字列を使用してテストされ、毎回値 track-id として次のように指定されますtrack[id]=99119291
。
track
track[]
track[id]
track-id
track_id
trackid
approve
approved
approve[]
approve[tracks][]
approved[tracks][]
tracks[approve][]
tracks[approved][]
approve[tracks][][id]
approved[tracks][][id]
tracks[approve][][id]
tracks[approved][][id]
tracks[]
tracks[][id]
tracks[][track][id]
tracks[][track][][id]
group[][id]
group[approve][]
group[approve][id]
group[approve][][id]
group[approved][]
group[approved][id]
group[approved][][id]
group[track][approve]
group[track][approve][]
group[track][approved][]
group[track][approve][id]
group[track][approve][][id]
group[track][approved][][id]
group[track][id]
group[tracks][id]
group[track][][id]
group[tracks][][id]
group[tracks][]
groups[][id]
groups[approve][id]
groups[approve][][id]
groups[approved][id]
groups[approved][][id]
groups[track][approve]
groups[track][approve][]
groups[track][approved][]
groups[track][approve][id]
groups[track][approve][][id]
groups[track][approved][][id]
groups[track][id]
groups[tracks][id]
groups[track][][id]
groups[tracks][][id]
言うまでもなく、どれもうまくいきませんでした。単純な GET リクエストで API エンドポイントにアクセスした場合と毎回結果が同じでした。
SoundCloud API をやみくもに突っつくのは本当にうんざりです。