Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
Goal is to play audio file from dropbox. Using dropbox python sdk I can get the folders and files but the `media` doesn't have valid file to play with.
def post(self, request):
request_body = json.loads(request.body)
path = request_body['path']
client = helper.dropbox_client(request.user.profile.dropbox_access_token)
media_info = client.media(path=path)
return JsonResponse(media_info, safe=True)
The `media_info` have the dict contains `url` but that is not valid means it not playing the content.
How do make that work ?
[Cross-linking for reference: https://stackoverflow.com/questions/41807719/how-to-get-the-valid-url-using-dropbox-api-media-endpoi... ]
Can you elaborate on what the issue you're running in to with the URL is? Are you getting an error?
After getting the response from Dropbox. I insert that url into audio player and seems it's not playing. The URL is not valid. If I copy paste that url into address bar it's not playing. My safari audio player simply shows Error.
Codes:
// HTML
<audio id="awesome-player" controls="" autoplay="">
<source id="mp3" src="" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
// Javascript
var awesomePlayer = document.getElementById('awesome-player');
awesomePlayer.src=json.url;
awesomePlayer.play();
Thanks! That's a valid URL, and it is responding successfully:
$ curl -v "https://dl.dropboxusercontent.com/1/view/npfkvmyekl783z9/wave.mp3" > wave.mp3 > GET /1/view/npfkvmyekl783z9/wave.mp3 HTTP/1.1 > Host: dl.dropboxusercontent.com > User-Agent: curl/7.42.1 > Accept: */* < HTTP/1.1 200 OK < Server: nginx < Date: Tue, 24 Jan 2017 05:54:26 GMT < Content-Type: audio/mpeg < Content-Length: 478 < Connection: keep-alive < content-disposition: inline; filename="wave.mp3"; filename*=UTF-8''wave.mp3 < set-cookie: uc_session=X8hTm61TndsDEYzqACTPuaZ66N7IjRoiESu0zqv42e3rOcWV3WuNCQRDzYGUKSPS; Domain=dropboxusercontent.com; httponly; Path=/; secure < accept-ranges: bytes < etag: 11n < x-dropbox-request-id: 1e0a8355c6effc46ece87bdf30885895 < pragma: public < cache-control: max-age=60 < X-Server-Response-Time: 173 < X-Robots-Tag: noindex, nofollow, noimageindex < { [478 bytes data] $ cat wave.mp3 bplist00�_WebMainResource� _WebResourceData_WebResourceMIMEType_ebResourceTextEncodingName^WebResourceURL_WebResourceFrameNameO�<html><body><video controls="" autoplay="" name="media" style="max-width: 100%; max-height: 100%;"><source src="http://www.sample-videos.com/audio/mp3/wave.mp3" type="audio/mpeg"></video></body></html>Zaudio/mpegUUTF-8_/http://www.sample-videos.com/audio/mp3/wave.mp3P �
The linked file is only 478 bytes though, so it's probably not the data you actually want. Looking at the data itself, it doesn't seem to actually be mp3 data, but rather a webarchive file. You should go back to where you were trying to get the mp3 file and save the actual mp3 file.
Hi there!
If you need more help you can view your support options (expected response time for a ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!