2016-11-23 98 views
2

因此,当使用Python版本“下载文件”时,Dropbox API很奇怪。它提供有关该文件的元数据,但实际上并未下载该文件。这是怪异考虑到他们的API文档说files_download(路径)表示,它会从Dropbox下载文件,当它只是获取元数据。如何使用Dropbox python API获取文件的链接?

k = dbx.files_get_temporary_link('/' + str(message)) 

这是一行代码,将绕过files_download,但元数据停止,更多的开始。当跑了,它会扔掉这个类:

GetTemporaryLinkResult(metadata=FileMetadata(name='buiEKTw.png', id='id:8ZPbLGM5GIAAAAAAAAAACg', client_modified=datetime.datetime(2016, 11, 22, 1, 26, 27), server_modified=datetime.datetime(2016, 11, 22, 1, 26, 27), rev='e5047428b', size=905, path_lower='/buiektw.png', path_display='/buiEKTw.png', parent_shared_folder_id=None, media_info=None, sharing_info=None, property_groups=None, has_explicit_shared_members=None), link='https://dl.dropboxusercontent.com/apitl/1/AAAzE5ljMmZZ8jxjcKAh_uIym9Hy7tfC4Z67zvzMpakZDqhoje2BgXE9bTz1-dyy2QIuQJbJKiVfD1RvY4PI4AS1sPhTDRSgqpXMU7XBasZ_gw5lNEpyGiYM-m5lQDozXf6oP7WAJjb1NqwRlQuPfRHpsJq7PRn4alBddVdzb6MZTyBdlvzd55hcxqhbU3d9o84mOR9qGh3zl6rSzYUWbhr7RoQVscpq2qug-lnTelc9eQ') 

我只是想在类/元数据的末尾的链接,我似乎无法得到它。链接本身为280个字符,引号为282.元数据每次获取元数据时都会更改。

+1

你试过'k.link'或'k.link()'吗? – sal

回答

2

该方法返回GetTemporaryLinkResult。作为SAL评论,你可以使用.link从该对象访问link,就像这样:

result = dbx.files_get_temporary_link(filePath) 

print(result.link) 

注意,该方法返回一个指向文件的链接。如果您想直接访问该文件的内容,你可以使用files_download如下图所示:

这使用Dropbox Python SDK在远程路径/Homework/math/Prime_Numbers.txt下载从Dropbox的API文件到本地文件Prime_Numbers.txt

import dropbox 
dbx = dropbox.Dropbox("<ACCESS_TOKEN>") 

with open("Prime_Numbers.txt", "wb") as f: 
    metadata, res = dbx.files_download(path="/Homework/math/Prime_Numbers.txt") 
    f.write(res.content) 

<ACCESS_TOKEN>应该替换为您的访问令牌。

相关问题