2013-02-07 36 views
9

मैं केवल अपने उपयोगकर्ता नाम i.e. रॉयल ओपेरा हाउस से संबंधित टैग द्वारा ट्रैक खोजना चाहता हूं।ध्वनि क्लाउड एपीआई के साथ टैग करके विशिष्ट उपयोगकर्ता के ट्रैक कैसे खोजें?

उदाहरण के लिए:

http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=238947HSGDHSDG&tags=eric 

मुझसे कहता है मैं एक क्ष पैरामीटर का उपयोग करने की जरूरत है। हास्य के लिए यह मैं खोज:

http://api.soundcloud.com/users/royaloperahouse/tracks/??client_id=238947HSGDHSDG&tags=eric&q=e 

और केवल ध्वनि बादल के पूरे सिर्फ मेरे उपयोगकर्ता से संबंधित लोगों को नहीं से लगता है की एक सूची प्राप्त। इसी प्रकार यदि मैं ट्रैक एपीआई (उपयोगकर्ताओं द्वारा नहीं) की कोशिश करता हूं और खोज करता हूं और &user_id के साथ क्वेरी को सीमित करता हूं तो मुझे रॉयल ओपेरा हाउस के लिए विशिष्ट नहीं सभी उपयोगकर्ताओं से संबंधित वीडियो मिलते हैं।

अंतिम लक्ष्य उन सभी ट्रैकों को ढूंढना है जो रॉयल ओपेरा हाउस ने एक विशिष्ट कलाकार से संबंधित अपलोड किया है। फिलहाल जिस तरह से हम इसे हल कर रहे हैं, वह हमारे सभी अपलोड किए गए ट्रैक (वर्तमान में 37) प्राप्त कर रहा है और प्रासंगिक टैग द्वारा ट्रैक से मिलान करने के लिए उन लोगों के माध्यम से पुनरावृत्ति कर रहा है। जाहिर है क्योंकि हमारी संगीत सूची बढ़ती है यह एक समस्या बनने लगेगी।

धन्यवाद।

+0

क्या आपने [दस्तावेज़ीकरण पढ़ा है] (http://developers.soundcloud.com/docs/api/reference#users)? – MikeSmithDev

+5

हाँ मेरे पास है। धन्यवाद। – user954348

+0

आईएमएचओ खोज कार्यक्षमता की तरह दिखता है जो "फ़िल्टर" (क्यू) के रूप में अपेक्षित काम नहीं करता है, कुछ उपयोगकर्ता द्वारा ट्रैक की खोज को कैसे ट्रम्प करता है। User_id द्वारा खींचते समय भी जावास्क्रिप्ट एसडीके का उपयोग कर वही परिणाम। – MikeSmithDev

उत्तर

1

मैंने पहले इस एपीआई का उपयोग नहीं किया है, लेकिन कुछ परीक्षणों के बाद मुझे लगता है कि मुझे आपकी समस्या मिली है।

आपको उपयोगकर्ताओं का उपयोग नहीं करना चाहिए पहले यूआरएल सेगमेंट के रूप में क्योंकि आप उपयोगकर्ताओं की तलाश नहीं कर रहे हैं, तो आप उपयोगकर्ता नाम और टैग द्वारा फ़िल्टर किए गए ट्रैक खोज रहे हैं।

इसके बजाय पटरियों पहले यूआरएल खंड के रूप में उपयोग करते हैं, और उपयोगकर्ता नाम फिल्टर करने के लिए क्ष पैरामीटर का उपयोग करें। फिर आप टैग पैरामीटर का उपयोग भी कर सकते हैं।

टेस्ट इस यूआरएल: http://api.soundcloud.com/tracks?q=username&tags=tag

SC.get('/tracks/', {q:'royaloperahouse', tags: 'insights' }, function(result) { 
    console.log(result[0].tag_list); 
}); 

ईमानदारी से कहूं तो मैं अभी भी क्ष पैरामीटर समझ में नहीं आता। एपीआई दस्तावेज में आपको ट्रैक, उपयोगकर्ता, आदि में इसके बारे में संदर्भ मिलते हैं और खोज पृष्ठ में वे इसके बारे में भी बात करते हैं लेकिन मुझे q पैरामीटर प्रत्येक क्वेरी प्रकार में फ़िल्टरिंग के बारे में कोई दस्तावेज नहीं मिला है। ट्रैक में उपयोगकर्ता नाम (और संभावित उपयोगकर्ता आईडी)

यदि आप इस एपीआई का उपभोग कर रहे हैं, तो आपको अपने Google समूह में ध्वनि क्लाउड टीम से इस पैरामीटर का अर्थ अधिक पूछना चाहिए।

+0

दुर्भाग्य से यह काम नहीं करेगा। यह ऐसे ट्रैक देता है जो उनके नहीं हैं, क्योंकि अन्य लोगों ने 'royaloperahouse' के साथ ट्रैक टैग किए हैं। यह भी अपने सभी पटरियों को वापस नहीं करेगा। – MikeSmithDev

+0

हाँ यह दुर्भाग्य से काम नहीं करेगा। – user954348

0

इस (तुम मेरे सिंटैक्स की जाँच करना होगा) का प्रयास करें:

SC.get('/tracks/',array('user_id' => 'YOUR_ID', q:'royaloperahouse', tags: 'insights'), function(result) { 
    console.log(result[0].tag_list); 
}); 

या

SC.get('users/YOUR_ID/tracks/', {q:'royaloperahouse', tags: 'insights' }, function(result) { 
    console.log(result[0].tag_list); 
}); 
0

सबसे पहले, उपयोगकर्ता "id" और उपयोगकर्ता "स्थायी लिंक" के बीच अंतर को समझते हैं। वे अद्वितीय उपयोगकर्ता पहचानकर्ता दोनों हैं, लेकिन वे अलग-अलग उद्देश्यों के साथ अलग-अलग चीजें हैं। ट्रैक का उपयोग करने के लिए आप पूर्व का उपयोग कर सकते हैं, लेकिन उत्तरार्द्ध नहीं।तो

http://.../users/royaloperahouse/... 

के बजाय आप

http://.../users/12127832/... 

का उपयोग कर उचित आईडी के लिए 12,127,832 प्रतिस्थापन आप एक अलग कलाकार के लिए देख रहे हैं होना चाहिए। साथ ही, आपको शायद JSON को रिटर्न प्रकार के रूप में निर्दिष्ट करना चाहिए। समाप्त करने के लिए, अपने सर्वर कॉल इस तरह दिखना चाहिए:

http://api.soundcloud.com/users/12127832/tracks.json?client_id=238947HSGDHSDG&tags=eric 

इसके अलावा: स्टैक ओवरफ़्लो पर अपने ग्राहक आईडी पोस्ट न करें !!!