2012-02-28 19 views
4

私は、生成されたCSVを取得してGoogle Docsにアップロードするpythonスクリプトを持っています。それはちょうどうまくアップロードすることができます、私はそれをデータを置き換えることができないようにして、それは私が参照を見つけることができないエラーを返します。Googleドキュメントのスプレッドシートを更新する

ルコード:

import gdata.auth 
import gdata.docs 
import gdata.docs.service 
import gdata.docs.data 
import gdata.docs.client 


email = '[email protected]' 
CONSUMER_KEY='domain.com' 
CONSUMER_SECRET='blah54545blah' 


ms_client = gdata.docs.client.DocsClient('Domain_Doc_Upload') 
ms_client.auth_token = gdata.gauth.TwoLeggedOAuthHmacToken(CONSUMER_KEY, CONSUMER_SECRET, email) 

url = 'http://docs.google.com/feeds/documents/private/full/sd01blahgarbage' 

ms = gdata.data.MediaSource(file_path="C:\\people.csv", content_type='text/csv') 
csv_entry2 = ms_client.Update(url, ms) 

それは返します:私は 'TO_STRING' 属性についての何かを見つけることができませんので、私はトレースを失ってい

Traceback (most recent call last): 
    File "so_test.py", line 19, in <module> 
    csv_entry2 = ms_client.Update(ms, url) 
    File "build\bdist.win-amd64\egg\gdata\client.py", line 717, in update 
AttributeError: 'MediaSource' object has no attribute 'to_string' 

。助け、多くの感謝。

+0

この 'MS = gdata.data.MediaSource試し(FILE_PATH = "C:\\ people.csv"、CONTENT_TYPE = 'テキスト/ CSV')を'。ここを見てくださいhttp://tinyurl.com/88grdk6 ' – RanRag

+0

これは気付かなかったのですが、残念ながら同じエラーです。 – Kevin

+0

これは 'updated_entry = client.Update(entry、media_source = ms)'という正しい方法です。したがって、これを試してください 'csv_entry2 = ms_client.Update(url、ms) ' – RanRag

答えて

1

私はドキュメントを見て、Updateメソッドが(entry、ms)のように見えます。エントリはgdata.docs.data.DocsEntryオブジェクトでなければなりません。クライアントからフィードを取得することでDocsEntryオブジェクトを取得できるはずです。

フィード= client.GetDocList()

関連する問題