python-gdata を使用してワークシートをスプレッドシートに入力しようとしています。問題は、個々のセルの更新が非常に遅いことです。(一度に 1 つずつ実行すると、各リクエストには約 500 ミリ秒かかります!) したがって、gdata に組み込まれているバッチ メカニズムを使用して速度を上げようとしています。
問題は、新しいセルを挿入できないように見えることです。Web で例を探しましたが、見つかりませんでした。これは、ドキュメントの例から適応させた私のコードです。(ドキュメントには実際にセルを挿入する方法は記載されていませんが、セルを更新する方法は示されています。これは新しいワークシートであるため、セルはありません。)
さらに、デバッグを有効にすると、リクエストが HTTP 200 OK を返すことがわかります。
import time
import gdata.spreadsheet
import gdata.spreadsheet.service
import gdata.spreadsheets.data
email = '<snip>'
password = '<snip>'
spreadsheet_key = '<snip>'
worksheet_id = 'od6'
spr_client = gdata.spreadsheet.service.SpreadsheetsService()
spr_client.email = email
spr_client.password = password
spr_client.source = 'Example Spreadsheet Writing Application'
spr_client.ProgrammaticLogin()
# create a cells feed and batch request
cells = spr_client.GetCellsFeed(spreadsheet_key, worksheet_id)
batchRequest = gdata.spreadsheet.SpreadsheetsCellsFeed()
# create a cell entry
cell_entry = gdata.spreadsheet.SpreadsheetsCell()
cell_entry.cell = gdata.spreadsheet.Cell(inputValue="foo", text="bar", row='1', col='1')
# add the cell entry to the batch request
batchRequest.AddInsert(cell_entry)
# submit the batch request
updated = spr_client.ExecuteBatch(batchRequest, cells.GetBatchLink().href)
私の直感では、私は単に API を誤解しているだけであり、これは変更によって機能するはずです。どんな助けでも大歓迎です。