Python は初めてで、これを約 1 時間書いています。Google docs api と例は素晴らしいです。接続してファイルなどを作成できます。すべてのファイルをGoogleドライブにバックアップしたいので、使用してみos.walk
ましたが、理解できない永続的なインデントエラーに遭遇しました。
#!/usr/bin/python
import httplib2
import pprint
from apiclient.discovery import build
from apiclient.http import MediaFileUpload
from oauth2client.client import OAuth2WebServerFlow
from oauth2client.client import Credentials
import os
import sys
rootdir = sys.argv[1]
CLIENT_ID = 'MYCLIENT ID'
CLIENT_SECRET = 'MY SECRET ID'
OAUTH_SCOPE = 'https://www.googleapis.com/auth/drive'
# Redirect URI for installed apps
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'
json_creds = open('backup_credentials.json', 'r').read()
credentials = Credentials.new_from_json(json_creds)
#
# Create an httplib2.Http object and authorize it with our credentials
http = httplib2.Http()
http = credentials.authorize(http)
drive_service = build('drive', 'v2', http=http)
#Here is where the problem starts
for root, subFolders, files in os.walk(rootdir):
for filename in files:
filepath = os.path.join(root, filename)
print (filepath)
media_body = MediaFileUpload(filepath, mimetype='text/plain', resumable=True)
body = {'title': filename,'description': 'A test document','mimeType': 'text/plain'}
file = drive_service.files().insert(body=body, media_body=media_body).execute()
pprint.pprint(file)
問題のあるエラーは、行 file = ... です。
実際の誤差は
File "./quickstart.py", line 59
file = drive_service.files().insert(body=body, media_body=media_body).execute()
^
IndentationError: unindent does not match any outer indentation level