首页 文章

将电子表格上传到Google文档会导致502请求错误

提问于
浏览
0

我只是试图通过gdata包将电子表格上传到谷歌文档 . 代码运行成功! csv正确地出现在谷歌文档上,但我收到此错误,终止了我的代码......

回溯(最近一次调用最后一次):文件“test3.py”,第21行,在entry = gd_client.Upload(ms,'Backup.gpg')#,folder_or_uri = uri文件“C:\ Python27 \ lib \ site- packages \ gdata \ docs \ service.py“,第306行,在Upload folder_or_uri中)文件”C:\ Python27 \ lib \ site-packages \ gdata \ docs \ service.py“,第161行,在_UploadFile converter = gdata.docs中.DocumentListEntryFromString)文件“C:\ Python27 \ lib \ site-packages \ gdata \ service.py”,第1236行,在Post media_source = media_source,converter = converter)文件“C:\ Python27 \ lib \ site-packages \ gdata \ service.py“,第1358行,在PostOrPut'reason'中:server_response.reason,'body':result_body} gdata.service.RequestError:{'status':502,'body':'\ n \ n \ n \ n错误502(服务器错误)!! 1 \ n \ n {margin:0; padding:0} html,代码{font:15px / 22px arial,sans-serif} html {background:#fff; color:#222;填充:15px} body {margin:7%auto 0; max-width:390px; min-height:180px; padding:30px 0 15px}> body {background:url(// www.google.com/images/errors/ robot.png)100%5px无重复; padding-right:205px} p { margin:11px 0 22px; overflow:hidden} ins {color:#777; text-decoration:none}一个img {border:0} @media screen和(max-width:772px){body {background:none; margin- top:0; max-width:none; padding-right:0}} #logo {background:url(// www.google.com/images/errors/logo_sm_2.png)no-repeat} @media only screen and(最小分辨率:192dpi){#logon {background:url(// www.google.com/images/errors/logo_sm_2_hr.png)no-repeat 0%0%/ 100%100%; - moz-border-image: url(// www.google.com/images/errors/logo_sm_2_hr.png)0}} @ media only screen and(-webkit-min-device-pixel-ratio:2){#logic {background:url(// www.google.com/images/errors/logo_sm_2_hr.png)no-repeat; -webkit-background-size:100%100%}} #logo {display:inline-block; height:55px; width:150px} \ n \ n \ n 502.这是\ xe2 \ x80 \ x99s错误 . \ n服务器遇到临时错误,无法完成您的请求 . 请在30秒后再试一次 . 那个\ xe2 \ x80 \ x99s我们都知道 . \ n','reason':'Bad Gateway'}

我的代码如下

import os
import sys
import gdata.docs
import gdata.docs.service
import gdata.docs.client

email = 'change_this@gmail.com'
password = 'this_too'

gd_client = gdata.docs.service.DocsService()
gd_client.ClientLogin(email, password)

f = open('test.csv')
ms = gdata.MediaSource(file_handle=f, content_type='text/csv', content_length=os.path.getsize(f.name))
entry = gd_client.Upload(ms, 'Backup')

1 回答

  • 0

    经过多次搜索,我发现了这个链接:How to upload documents with new python-gdata (2.0.16)?并轻松地将其改编为我的问题 . 问题是我的代码已经过时了以前的gdata版本 .

    import gdata.docs.data
    import gdata.docs.client
    
    email = 'change_this@gmail.com'
    password = 'this_too'
    
    client = gdata.docs.client.DocsClient(source='poetic-harmony-508')
    client.api_version = "3"
    client.ssl = True
    client.ClientLogin(email, password, client.source)
    
    filePath = "path/filename.csv"
    newResource = gdata.docs.data.Resource(filePath, "csv")
    
    media = gdata.data.MediaSource()
    media.SetFileHandle(filePath, 'text/csv')
    
    newDocument = client.CreateResource(newResource, create_uri=gdata.docs.client.RESOURCE_UPLOAD_URI, media=media)
    

    我还发现此资源有助于理解参数:https://gdata-python-client.googlecode.com/hg/pydocs/

相关问题