Yeni bir Python API sarıcısı yayınladık. PyPi'dan veya Github account'dan edinebilirsiniz. Bir parça yüklemek için, önce desteklenen OAuth2 auth akışlarından birini kullanarak bir erişim jetonu almak istersiniz. Bunu, README file'da okuyabilirsiniz. Haberinizi detaylandırmamı isterseniz bana bildirin ve cevabımı düzenleyebilirim.
Erişim belirteci almak için, önce register your application on soundcloud.com. Kullanıcıların uygulamanıza yetki verdikten sonra yönlendirilecekleri bir URI vermeniz ve bir müşteri kimliği ve müşteri sırrı vermeniz gerekecektir. Eğer bu kimlik bilgilerini edindikten sonra, Müşteri kurucusuna onları geçmek:
import soundcloud
client = soundcloud.Client(client_id=YOUR_CLIENT_ID,
client_secret=YOUR_CLIENT_SECRET,
redirect_uri="http://your/redirect/uri")
Daha sonra app yetkilendirmek için yetkilendirme URL'ye yönlendirmek mümkün olacak. Kullanıcı, oturum açmak için (etkin bir oturumu yoksa) soundcloud.com adresine gönderilecek ve uygulamanıza erişimi onaylayacaktır. Eğer böyle bir şey görünebilir (örn Django, Flask, vs) kullandığınız framework bağlı: kaydederken uygulamanız için erişimi onayladıktan sonra
return redirect(client.authorize_url)
, kullanıcı belirttiğiniz yönlendirme uri yönlendirileceksiniz uygulamanız ve yapıcınız. URL, daha sonra bir erişim belirteci almak için kullanabileceğiniz bir 'kod' parametresi içeren bir sorgu dizesine sahip olacaktır. Yine, kullandığınız framework bağlı olarak bu gibi görünebilir:
code = request.params.get('code')
token = client.exchange_token(code)
print token.access_token # don't actually print it, just showing how you would access it
Muhtemelen erişim belirteci saklamalısınız (yani MySQL veya REDIS gibi veri deposunda çeşit), böylece her kullanabilirsiniz Bu kullanıcı gelecekte SoundCloud'a erişmek istiyor.
Erişim belirteciniz olduğunda, bir parça yüklemek oldukça basit olmalıdır. Ses dosyanızı aldıktan sonra, parça kaynağına bir POST isteği gönderin. İşte bir örnek:
print track.permalink_url
Umut yardımcı olur:
import soundcloud
client = soundcloud.Client(access_token='YOUR_ACCESS_TOKEN')
track = client.post('/tracks', track={
'title': 'The title you want to give your track',
'sharing': 'private', # make this 'public' if you want
'asset_data': open('yourtrack.mp4', 'rb')
})
geri sonra Soundcloud URL almak için kullanabileceğiniz bir iz kaynak alırsınız! Herhangi bir sorunuz olursa haberim olsun.
Çok teşekkürler @Paul! Gerçekten yardımcı oldu! Ve evet, auth hakkında daha fazla duymak istiyorum ve nasıl erişim belirteci almak için .. Bana çok yardımcı olur .. – vijay
Sorun değil vijay. Cevabımı, OAuth2 ile ilgili ayrıntıları içerecek şekilde düzenledim. –
Bu iyi çalıştı! Çok teşekkürler @paul! – vijay