2016-03-14 9 views
9

साउंडक्लाउड्स एपीआई मेरे लिए कुछ पटरियों पर 403 लौट रहा है। मैंने कच्चे http एंडपॉइंट्स और पायथन के लिए ध्वनि क्लाउड एपीआई रैपर के साथ खेलने का प्रयास किया है, दोनों में समस्या है।साउंडक्लाउड एपीआई कुछ पटरियों पर 403 लौट रहा है

https://api.soundcloud.com/tracks/251164884.json?client_id=CLIENT_ID 

ऊपर एक एक 403 त्रुटि देता है, जबकि नीचे एक काम करता है, जाहिर है

https://api.soundcloud.com/tracks/197355235.json?client_id=CLIENT_ID 

ही CLIENT_ID का उपयोग कर मैं पुस्तकालय आवरण का उपयोग करना। requests.exceptions.HTTPError: 403 ग्राहक त्रुटि:

import soundcloud 
    client = soundcloud.Client(client_id=CLIENT_ID) 
    track = client.get('/resolve', url='https://soundcloud.com/mtarecords/my-nu-leng-flava-d-soul-shake') 

https://soundcloud.com/calyxteebee/nothing-left एक और ट्रैक है कि यह भी हल नहीं होती है निषिद्ध। सभी पटरियों में यह समस्या नहीं है, ज्यादातर काम करते हैं कि वे हमेशा कैसे होते हैं।

यदि आप शेयरक्लॉड पर शेयर -> एम्बेड पर जाते हैं तो track_id वहां होगा, इसलिए मुझे पता है कि मैं सही track_id का उपयोग कर रहा हूं।

ब्राउज़र में http endpoints देखकर मुझे त्रुटि मिलती है।

Failed to load resource: the server responded with a status of 401 (Unauthorized) - https://api.soundcloud.com/favicon.ico 

कोई और इससे पहले इस मुद्दे में भाग लेता है?

+0

शायद इस आइटम से संबंधित है? http://stackoverflow.com/questions/35877369/http-requests-to-tracks-id-a-403-status-code-from-aws-other-cloud-providers मुझे अभी भी यह समस्या है – PaulDart

+1

क्या आप हैं केवल कुछ पटरियों या सभी पटरियों पर त्रुटि प्राप्त हो रही है? चारों ओर खोज करते समय मैं उस दूसरे मुद्दे पर भाग गया, ऐसा लगता है कि समान व्यवहार का वर्णन किया जा रहा है। मुझे लगता है कि अगर यह मुद्दा व्यापक है तो यह कुछ असफल परीक्षणों या ध्वनि क्लाउड अंत पर कुछ ट्रिगर करेगा। मुझे लगता है कि हमें सिर्फ प्रतीक्षा खेल खेलना है? – Andrew

उत्तर

1

इस यूआरएल का उपयोग करके, पूरी तरह से सर। इसे इस्तेमाल करे। : डी

https://api.soundcloud.com/tracks/TRACK_ID/stream?client_id=CLIENT_ID 
3

अपने दो उदाहरणों का उपयोग करके मैं 1 दोनों

उदाहरण के लिए मान्य परिणाम प्राप्त:

https://api.soundcloud.com/resolve?url=https://soundcloud.com/calyxteebee/nothing-left&client_id=CLIENT_ID

रिटर्न

https://api.soundcloud.com/tracks/251164884?client_id=CLIENT_ID

उदाहरण 2:

https://api.soundcloud.com/resolve?url=https://soundcloud.com/mtarecords/my-nu-leng-flava-d-soul-shake&client_id=CLIENT_ID

रिटर्न

https://api.soundcloud.com/tracks/249638630?client_id=CLIENT_ID

+4

उदाहरण यूआरएल (CLIENT_ID के साथ प्रतिस्थापित) द्वारा लौटाए गए उन अंतराल में से कोई भी मेरे लिए काम नहीं करता है। यह सही track_id/url को हल करता है और ट्रैक एपीआई डेटा को रीडायरेक्ट/लोड करने का प्रयास करता है लेकिन पहले 403 को फेंक देता है। विभिन्न CLIENT_ID/ऐप का उपयोग करने का प्रयास किया है और यहां तक ​​कि एक साथ एक नया डेवलपर खाता बनाने का प्रयास किया है। फिर भी, उन पटरियों के साथ मुद्दे जारी हैं। – Andrew

+1

बस उन्हें ध्वनि क्लाउड पर पसंद आया, फिर एक वेबसाइट पर गया जो मैं ध्वनि क्लाउड एपीआई का उपयोग कर विकसित कर रहा हूं और ट्रैक मेरी "पसंदीदा" फ़ीड में दिखाई नहीं दे रहा था। मैंने यह देखने के बाद कुछ अन्य ट्रैक जोड़े कि क्या एपीआई के माध्यम से लौटाए गए डेटा को अपडेट करने में देरी हुई है, लेकिन आपके द्वारा जारी किए गए ट्रैक में से कोई भी अभी तक कॉल/मेरे पसंदीदा एंडपॉइंट के परिणामों में दिखाई देने के लिए नहीं है। बिना किसी देरी के दिखाए गए ट्रैक उनके बाद जोड़े गए। वे ध्वनि क्लाउड पर अपेक्षित के रूप में दिखाई देते हैं, इसलिए मुझे लगता है कि एपीआई के माध्यम से कुछ पटरियों पर अधिकार/दायरे के साथ कोई समस्या है। – SteveE

+0

मुझे एक ही समस्या मिल रही है। यूआरएल मेरे स्थानीय बॉक्स (ऑस्ट्रेलिया) से हल होते हैं लेकिन हमारे उत्पादन बॉक्स (एरिजोना में) से नहीं। हमने पिछले तीन वर्षों में हमारे ऐप में हजारों बार ऐसा किया है और यह काफी नया व्यवहार प्रतीत होता है। मैं प्रोड बॉक्स से कर्ल का उपयोग कर यूआरएल खींचने में सक्षम हूं लेकिन रूबी ओपन-यूरी का उपयोग करके उड़ाता हूं। बहुत अजीब। मेरा अनुमान है कि उन्होंने कुछ एज सर्वरों को अवरुद्ध करने वाले उपयोगकर्ता एजेंट को जोड़ा है। – Ponny

0

मैं अब कुछ समय के लिए इस समस्या की जांच की है, और मैं में जो कुछ की खोज की कम से कम मेरी स्थिति हल करता है, डुनो अगर यह तुम्हारा हल करेगा।

रहस्योद्घाटन: आप कर्ल (-I विकल्प) तो यह हमेशा एक 200/300 सीमा प्रतिक्रिया के साथ वापस करने के लिए लगता है के साथ एक सिर अनुरोध करते हैं।

ऐसा क्यों है काम करता है: मैं Soundcloud स्ट्रीमिंग रहा FreeStreamer का उपयोग कर किसी iOS ऐप्लिकेशन में https://api.soundcloud.com/tracks/TRACK_ID/stream?client_id=CLIENT_ID तरह यूआरएल के साथ ट्रैक करता है।धारा उन पटरियों पर असफल रही थी जिसके लिए curl -v ट्रैक यूआरएल के लिए 403 लौटा (यह स्ट्रीम यूआरएल के लिए 401 लौटाता है)। तो मेरी स्थिति को हल करने के लिए, मैं एक प्रमुख अनुरोध करता हूं जो 302 Found देता है, एमपी 3 यूआरएल निकालें, और मैं इसे मूल यूआरएल के बजाय स्ट्रीम करने के लिए उपयोग करता हूं।

मैं इस पुस्तकालय का एक बग (क्योंकि यह किसी भी 302 को संभालने में सक्षम होना चाहिए) पर विचार करने और मैं इसके लिए एक issue बनाया।

संबंधित मुद्दे