0

Python API を使用して Google ドライブにフォルダを作成しようとしています。ここに私が書いた関数があります

def testCreateDir(self):
    try:
        media_body = MediaFileUpload("ALLFS", mimetype='application/vnd.google-apps.folder', resumable=True)
        body = {
                'title': "ALLFS",
                'mimeType': "application/vnd.google-apps.folder"
        }
        root_folder = self._service.files().insert(body=body, media_body=media_body).execute()

        return root_folder['id']
    except errors.HttpError,error:
        print 'An error occured: %s' % error
        return None

トレースは次のとおりです。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "allfs/service/gdrive.py", line 63, in testCreatedir
    media_body = MediaFileUpload("ALLFS", mimetype='application/vnd.google-apps.folder',      
resumable=True)
  File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 120, in  
positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/apiclient/http.py", line 419, in __init__
    fd = open(self._filename, 'rb')
IOError: [Errno 21] Is a directory: 'ALLFS'

他のすべてが機能しています:読み取り、書き込み、検索....誰か助けてもらえますか?

どうもありがとう

4

1 に答える 1

4

フォルダーを作成するときに、メディア本体を挿入する必要はありません。MediaFileUpload をインスタンス化する行を削除し、挿入リクエストに media_body を渡さないでください。

于 2013-02-27T20:51:52.813 に答える