2013-07-12 2 views
-1

Google 시트에 행을 추가하는 데 다음 파이썬 코드를 사용하고 있습니다.Google 스프레드 시트에서 파이썬 코드 작성하기

KEY = "--snip--" 
    SHEET = "Sheet1" 

    def update_gdoc(): 
    gdc = gdata.spreadsheet.service.SpreadsheetsService() 
    gdc.email = gDataConstants.GDATA_USERNAME 
    gdc.domain = 'mydomain.com' 
    gdc.password = gDataConstants.GDATA_PASSWORD 
    gdc.source = 'API User Task' 
    gdc.ProgrammaticLogin() 

    entry = gdata_utils.sheetByName(gdc, KEY, SHEET) 
    wid = entry.id.text.split("/")[-1] 

    values = ["2013", "12323", "99898"] 
    keys = ["date" , "visitors", "atc"] 

    map = dict(zip(keys, values)) 
    gdc.InsertRow(map, KEY, wid) 

    update_gdoc() 

내가 오류 내가 놓친 거지

Traceback (most recent call last): 
    File "/Users/dapurv5/br/work/src/mobile/analytics/scripts/update_gdoc.py", line 27, in <module> 
    update_gdoc() 
    File "/Users/dapurv5/br/work/src/mobile/analytics/scripts/update_gdoc.py", line 25, in update_gdoc 
    gdc.InsertRow(map, KEY, wid) 
    File "/work/src/backend/python/gdata/spreadsheet/service.py", line 339, in InsertRow 
    converter=gdata.spreadsheet.SpreadsheetsListFromString) 
    File "/work/src/backend/python/gdata/service.py", line 1236, in Post 
    media_source=media_source, converter=converter) 
    File "/work/src/backend/python/gdata/service.py", line 1358, in PostOrPut 
    'reason': server_response.reason, 'body': result_body} 
gdata.service.RequestError: {'status': 400, 'body': 'We&#39;re sorry, a server error occurred. Please wait a bit and try reloading your spreadsheet.', 'reason': 'Bad Request'} 

아무거나?

+0

당신은 그 키를 ... 무효화 할거야 당신과 함께 신규 및 기존 스프레드 시트에 기록 할 수 꽤 확신 – Qix

답변

0

작성하려는 스프레드 시트가 "오래된"때문입니다. Google 스프레드 시트는 새 버전을 출시했으며 새로운 버전에만 쓸 수있는 것으로 보입니다.

당신은 URL을보고있다 스프레드 시트의 유형을 알 수 있습니다 :

OLD: spreadsheet/ccc?key= 
NEW: spreadsheet/d?key= 
+0

gdata. 하지만 gdata API를 사용하여 새 스프레드 시트를 업데이트하는 것으로 알려진 문제가 있습니다 (예 : https://code.google.com/p/gdata-python-client/issues/detail?id=692). – mbrenig