2012-02-03 9 views
1

は、私が文書を作成し、アップロードするために次のコードの断片を使用:新しいpython-gdata(2.0.16)でドキュメントをアップロードするには? python-GDATA 2.0.14で

# To create a document 
import gdata.docs 
import gdata.docs.client 
from gdata.data import MediaSource 

gdClient = gdata.docs.client.DocsClient(source="my-app") 
gdClient.ssl = True 
gdClient.ClientLogin("login", "pa$$word", gdClient.source) 
ms = MediaSource(file_path="temp.html", content_type="text/html") 
entry = gdClient.Upload(ms, "document title") 
print "uploaded, url is", entry.GetAlternateLink().href 

# To update a document 
entry.title.text = "updated title" 
entry = gdClient.Update(entry, media_source=ms, force=True) 
print "updated, url is", entry.GetAlternateLink().href 

しかし、このコードは、もはやのpython-GDATAで動作していないんはもはやUploadUpdateの機能を持たないため、2.0.16です。

私はこの

# Try to create a document 
gdClient = gdata.docs.client.DocsClient(source="my-app") 
gdClient.ssl = True 
gdClient.ClientLogin("login", "pa$$word", gdClient.source) 
ms = MediaSource(file_path="temp.html", content_type="text/html") 
entry = gdata.docs.data.Resource(type=gdata.docs.data.DOCUMENT_LABEL, title="document title") 
self.resource = gdClient.CreateResource(entry, media=ms) 

を使用しようとしました...しかし、私はこのエラーを取得する:

gdata.client.Unauthorized: Unauthorized - Server responded with: 401, 'Token invalid' 

誰もが私に言うことができる場所私のミスとどのように私は新しいAPIことを使うべきですか?

P.S. The documentationは更新されておらず、古いスタイルのコードを使用しています。

答えて

1

私はこの問題も最近発生していました。これは私のために働い:

import gdata.docs.data 
import gdata.docs.client 

client = gdata.docs.client.DocsClient(source='your-app') 
client.api_version = "3" 
client.ssl = True 
client.ClientLogin("[email protected]", "password", client.source) 

filePath = "/path/to/file" 
newResource = gdata.docs.data.Resource(filePath, "document title") 

media = gdata.data.MediaSource() 
media.SetFileHandle(filePath, 'mime/type') 

newDocument = client.CreateResource(newResource, create_uri=gdata.docs.client.RESOURCE_UPLOAD_URI, media=media) 

を編集:混乱

+0

感謝を避けるために、インポートするパッケージを追加しました!私はまだ2to3を使ってビルドしたPython 3バージョンでいくつかのエラーが出ますが、後でそれらを並べ替えようとします。 –

+0

こんにちは。あなたの作品の私の種類は私が望む(または私が与えるURLに言うべきである)フォルダに置かれている文書の代わりに、私のアカウントに置かれます。その文書はグループ内のすべての人に見えると思われます – Yebach

関連する問題