socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, proxy_host, proxy_port)
socket.socket = socks.socksocket
这样就可以走代理了,在用dropbox api之前需要去申请一个APP KEY,需要写到配置文件中去。用auth获得access token:
from dropbox.auth import Authenticator
config = Authenticator.load_config('config.ini')
auth = Authenticator(config)
user_name = # dropbox username
user_password = # dropbox password
access_token = auth.obtain_trusted_access_token(user_name, user_password)
拿到token以后就可以自由发挥了,这里试了下取到文件目录信息:
from dropbox.client import DropboxClient
client = DropboxClient(config['server'], config['content_server'], config['port'], auth, access_token)
client.metadata('dropbox', '').body
- 获取账户信息:
- 文件相关API: 获取thumbnail:
from dropbox.client import DropboxClient
client = DropboxClient(config['server'], config['content_server'], config['port'], auth, access_ token)
print client.account_info().body
thumb = open("vim.png", "wb")
thumb_data = client.thumbnail('dropbox', '/vim.png', 'large').read()
thumb.write(thumb_data)
thumb.close()
获取文件:
f = open("vim1.pdf", "wb")
f_data = client.get_file('dropbox', '/testfile/vim1.pdf').read()
f.write(f_data)
f.close()
PS:dropbox对path会有处理,比如传这种路径:“/../../../vim1.pdf”,会生成在“/”下面;所有请求都是对相应的URL进行GET/POST操作,例如:调用file_move就是对URL:https://api.dropbox.com//fileops/move的POST请求。
No comments :
Post a Comment