0

API を Soundcloud で使用することに関する別の質問 (私は PHP を使用しています)。

1994 年くらいに録音されたものも含め、大量のサウンド コレクションをアップロードします。検索 API を使用して、この日付のファイルを取得できるようにしたいと考えています。

トラック リソースに [release_day] 、 [release_month] および [release_year] があることがわかりますが、これらのフィールドはクエリでフィルターとして使用できないようですよね?

したがって、これらのフィールドを使用して日付で検索できない場合、他に考えられる唯一のオプションは、検索で使用できる [created_at] フィールドを使用することです。

のみ - 試してみましたが、API を使用してそのデータを変更できないようです。メタデータの他の部分を正常に変更しましたが、たとえば (PHP スニペットを使用):

$client->put('tracks/' . $track->id, array(
        'track[created_at]' => "1994/03/14 07:35:57 +0000",
        'track[description]' => 'This track was recorded in Berlin'

));

これは何の効果もありません。これは、私がしなければならないことができないことを意味していると思いますか?

どうすればこれを回避し、私のサイトのユーザーが 1994 年などに録音されたサウンド ファイルを検索できるようにすることができますか?

どうもありがとう。

4

1 に答える 1

0

まず、ドキュメントに従って、次の方法でトラックをクエリします。

created_at[from] date   (yyyy-mm-dd hh:mm:ss) return tracks created at this date or later
created_at[to]  date    (yyyy-mm-dd hh:mm:ss) return tracks created at this date or earlier

SoundCloudの他の多くのクエリと同様に、現在は機能しません。

クエリとして壊れていることを除けば、created_atタイムスタンプは、トラックがアップロードされたときに追加され、変更できません。リリースパラメータで検索する唯一の方法は、最初に次のようなサブリソースの1つで検索することです。

GET     /users/{id}/tracks  list of tracks of the user
GET     /users/{id}/playlists   list of playlists (sets) of the user
GET     /tracks/{id}/comments   comments for the track
GET     /tracks/{id}/comments/{comment-id}  a comment for the track
GET     /tracks/{id}/favoriters     users who favorited the track
GET     /tracks/{id}/favoriters/{user-id}   a user who has favorited to the track
GET     /tracks/{id}/shared-to/users    users who have access to the track
GET     /tracks/{id}/shared-to/emails   email addresses who are invited to the track

次に、トラックのリリースプロパティに基づいて結果をフィルタリングします。たとえば、/ users / {id} / playinglistsで検索し、そのプレイリストのトラックの結果をリリース日でフィルタリングできます。

于 2013-03-15T07:19:16.727 に答える