たとえば、 MediaFileUpload を使用して検索すると、ファイルを作成/Google ドライブにアップロードするための基本的なドキュメントへの参照があります。
ただし、ファイルを作成するコードを持っていますが、HTML から Google Doc 形式に変換します。ASCII 文字のみが含まれている場合は完全に機能しますが、ASCII 以外の文字を追加すると失敗し、次のトレースバックが表示されます。
Traceback (most recent call last):
File "d:\my\py\ckwort.py", line 949, in <module>
rids, worker_documents = analyze( meta, gd )
File "d:\my\py\ckwort.py", line 812, in analyze
gd.mkdir( **iy )
File "d:\my\py\ckwort.py", line 205, in mkdir
self.create( **( kw['subop']))
File "d:\my\py\ckwort.py", line 282, in create
media_body=kw['media_body'],
File "D:\my\py\gdrive2\oauth2client\util.py", line 120, in positional_wrapper
return wrapped(*args, **kwargs)
File "D:\my\py\gdrive2\apiclient\http.py", line 676, in execute
headers=self.headers)
File "D:\my\py\gdrive2\oauth2client\util.py", line 120, in positional_wrapper
return wrapped(*args, **kwargs)
File "D:\my\py\gdrive2\oauth2client\client.py", line 420, in new_request
redirections, connection_type)
File "D:\my\py\gdrive2\httplib2\__init__.py", line 1597, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "D:\my\py\gdrive2\httplib2\__init__.py", line 1345, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "D:\my\py\gdrive2\httplib2\__init__.py", line 1282, in _conn_request
conn.request(method, request_uri, body, headers)
File "C:\Python27\lib\httplib.py", line 958, in request
self._send_request(method, url, body, headers)
File "C:\Python27\lib\httplib.py", line 992, in _send_request
self.endheaders(body)
File "C:\Python27\lib\httplib.py", line 954, in endheaders
self._send_output(message_body)
File "C:\Python27\lib\httplib.py", line 812, in _send_output
msg += message_body
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 370: ordinal not in range(128)
MediaFileUpload で使用するファイル エンコーディングを指定するために使用するパラメーターが見つかりません (私のファイルは UTF-8 を使用しています)。何か不足していますか?
後で: 追加しようと思いつきました
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
各ソースファイルに。ASCII 文字を傷つけることはありませんでしたが、ASCII 以外の UTF-8 文字を含むものには役に立ちませんでした。
後で: 序数が 127 より大きいすべての文字に HTML エンティティ (Unicode 文字を表す ASCII 文字シーケンス) を使用することで、問題を回避しました。しかし、これは必要ありません。