Я написал простой скрипт для загрузки файла .docx в мою учетную запись GoogleDrive. Работает отлично, кроме файла .. Аутентификация работает, загрузка файла работает. У меня были некоторые проблемы с кодировкой, но теперь с Latin-1 я могу загрузить файл без ошибок. Но после загрузки есть только документ без названия с таким содержанием:
[Content_Types] .xml l "% 3 ^ i7 +% p) O 5} nH" t4Q + | T \ y _rels / .rels jH [{l0 /% word / _rels / document.xml.rels} -;} PB [^^l :>S!?p (!O>z word/document.xml )Zb#~J K{N$ 7R'~/ $]t# V-wZ TMco %NPB5 ~e!(m zJSC aPdO4 Jr#Cv l%|Y AxQT;K3[ word/theme/theme1.xml p{{<F! :@q" ?~|f hNC- 055B jf;a ssFb dZ#QZn: ]{,n t}Vz}1 !(~X "(<Ik^> o[HD kW:A word/settings.xml rZiidm &sY5 \w'5>X ^JL\ I'I6 9FVM v8:y- o9E1G "ogH:
: nM word / fontTable.xml WkU + PlQ (! IX (* +> _ ze | PXPD OJK? EK # 83> word / webSettings.xml Bk "15i I? | RjRlq docProps/app.xml X2<$ I3S.u docProps/core.xml P
nQ d \ l2) C5 $ Tehk J06t UUA5iQ 10Tse >yx\-P word/styles.xml IPL0 U&dz2 5&{K 5IwM ,x9fY( fMNF< {2bjkrj G!vMD -TA{ ~TAG 0Epr 9F{7w x0-d x^(G ynL" fl9g2z Z{Jtx [z^| Q)aaT2X )aD[ qfaT z#B^ -iwJ x_}[ I]Qx3 eTHA cTHA py}) t /5DyK hnB_ )5.[ %5.[ /5.[ eKmR )5.[ CfmmV RyxS%u u}nY xegY'
& m] n [Content_Types] .xmlPK _rels / .relsPK word / _rels / document.xml.relsPK word / document.xmlPK word / theme / theme1.xmlPK word / settings.xmlPK word / fontTable.xmlPK word / webSettings .xmlPK RjRlq docProps / app.xmlPK docProps / core.xmlPK word / styles.xmlPK
Как я могу заставить скрипт обрабатывать формат .docx? Я читал, что файлы .docx на самом деле являются zip-файлами, это правда?
И еще вопрос:
Как я могу загрузить файл в определенную папку GoogleDrive? Нужно ли указывать это в моем проекте GoogleDrive-API?
Заранее спасибо :)
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
import os
g_login = GoogleAuth()
g_login.LocalWebserverAuth()
drive = GoogleDrive(g_login)
test = "Path to my BA_UploadTest.docx"
with open(test, "r", encoding="Latin-1")as file:
fn = os.path.basename(file.name)
file_drive = drive.CreateFile({'BA_UploadTest.docx': os.path.basename(file.name)})
file_drive.SetContentString(file.read())
file_drive.Upload()
print('File upload successful!')