Dropbox通过python上传文件错误

Dropbox通过python上传文件错误,python,sdk,dropbox,dropbox-api,Python,Sdk,Dropbox,Dropbox Api,我试图上传文件列表到dropbox,但我得到各种各样的错误。我试过了,在网上什么都试过了。但我还是不能让它工作 # Include the Dropbox SDK libraries from dropbox import rest, session import webbrowser import os import glob import zipfile import datetime from dropbox import client # Get your app key and se

我试图上传文件列表到dropbox,但我得到各种各样的错误。我试过了,在网上什么都试过了。但我还是不能让它工作

# Include the Dropbox SDK libraries
from dropbox import rest, session
import webbrowser
import os
import glob
import zipfile
import datetime
from dropbox import client

# Get your app key and secret from the Dropbox developer website

# (app keys defined here)

# ACCESS_TYPE should be 'dropbox' or 'app_folder' as configured for your app
ACCESS_TYPE = 'app_folder'
sess = session.DropboxSession(APP_KEY, APP_SECRET, ACCESS_TYPE)

request_token = sess.obtain_request_token()

url = sess.build_authorize_url(request_token)

file_list = []

#get the date
now = datetime.datetime.now()

def initialize():

    #print "url:", url
    # open a public URL, in this case, the webbrowser docs
    #url = "http://docs.python.org/library/webbrowser.html"
    webbrowser.open(url)
    print "Please click the 'Allow' button to Authorize..."
    print """
    Please select by entering the specific number...
    1 Backup all my files by one by one
    2 Backup specific folder
    3 Backup specific file
    4 Get my account details
    5 About this software
    6 Exit
    """
    try:
        # This will fail if the user didn't visit the above URL and hit 'Allow'
        access_token = sess.obtain_access_token(request_token)
    except:
        print "Error has occured"

def getAccountInfo():
    from dropbox import client
    client = client.DropboxClient(sess)
    account_info_dict = client.account_info()
    print "linked account:"

    for item in account_info_dict:
        if type(account_info_dict[item]) == dict:
           inner_dict = account_info_dict[item]
           for item1 in inner_dict:
               print item1, ":", inner_dict[item1]
        print item, ":", account_info_dict[item]

def getAllFiles():
   for dirname, dirnames, filenames in os.walk('I:/'):
       for subdirname in dirnames:
           print os.path.join(dirname, subdirname)
       for filename in filenames:
           file_name = os.path.join(dirname, filename)
           print file_name
           file_list.append(file_name)
   return file_list

def upload_one_by_one(sess):
   from dropbox import client
   files = getAllFiles()
   client = client.DropboxClient(sess)
   #zip_file_name = now.strftime("%Y%m%d%H%M")+ ".zip"    
   #z = zipfile.ZipFile(zip_file_name, "w")
   for file_item in files:
       #z.write(file_item)
       #f = open(zip_file_name)
       response = client.put_file("test/", file_item)
       print "uploaded:", response
       break


initialize()
#getAccountInfo()
upload_one_by_one(sess)
client.put_file()参数的问题。我正在尝试上传测试文件夹中的图像文件。但它还是以文本文件的形式上传,其中包含图像文件的路径


我不能通过dropbox sdk将图像文件上载到dropbox吗?

put_file()
采用类似文件的对象或表示文件内容的字符串。如果传入文件名,它将不会自动读入文件内容。

put\u file()
采用类似文件的对象或表示文件内容的字符串。如果您传入文件名,它将不会自动读取文件内容。

您似乎没有打开要上载的文件,这可能会起作用:

for file_item in files:
  file = open(file_item)
  response = client.put_file("test/", file)

您似乎没有打开要上载的文件,这可能会起作用:

for file_item in files:
  file = open(file_item)
  response = client.put_file("test/", file)

您的开发密钥已被删除,但不能保证google没有索引它们。最好是获得新的。你的开发密钥已经被删除,但不能保证谷歌没有索引它们。最好买新的。好的,你知道怎么买吗?如果你知道,请把它贴在这里。谢谢你的承诺!好的,你知道怎么做吗?如果你知道,请把它贴在这里。谢谢你的承诺!