【问题标题】:Uploading a spreadsheet to google docs results in 502 request error将电子表格上传到谷歌文档会导致 502 请求错误
【发布时间】:2014-03-04 07:15:05
【问题描述】:

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

Traceback(最近一次调用最后一次): 文件“test3.py”,第 21 行,在 entry = gd_client.Upload(ms, 'Backup.gpg')#, folder_or_uri=uri 上传中的文件“C:\Python27\lib\site-packages\gdata\docs\service.py”,第 306 行 文件夹_or_uri) _UploadFile 中的文件“C:\Python27\lib\site-packages\gdata\docs\service.py”,第 161 行 转换器=gdata.docs.DocumentListEntryFromString) 文件“C:\Python27\lib\site-packages\gdata\service.py”,第 1236 行,在 Post 媒体源=媒体源,转换器=转换器) PostOrPut 中的文件“C:\Python27\lib\site-packages\gdata\service.py”,第 1358 行 “原因”:server_response.reason,“正文”:result_body} gdata.service.RequestError: {'status': 502, 'body': '\n\n \n \n 错误 502(服务器错误)!!1\n \n {margin:0;padding:0 }html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding: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 no-repeat;padding-right:205px}p {margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}img{border:0}@media screen and (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 仅屏幕和(最小分辨率:192dpi){#logo{background:url(//www.google.com/images/errors/logo_sm_2_hr.png) 无重复 0% 0%/100% 100%;-moz-border-image :url(//www.google.com/images/errors/logo_sm_2_hr.png) 0}}@media 仅屏幕和 (-webkit-min-device-pixel-ratio:2){#logo{background:url(/ /www.google.com/images/errors/logo_sm _2_hr.png) 无重复;-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')

【问题讨论】:

    标签: python gdata


    【解决方案1】:

    经过大量搜索,我找到了这个链接: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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      • 2011-03-31
      • 2023-03-22
      相关资源
      最近更新 更多