2012-02-03 1 views
1

, 나는 문서 작성 및 업로드 아래의 코드를 사용 :새로운 python-gdata (2.0.16)로 문서를 업로드하는 방법은 무엇입니까? 파이썬 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 

을 더 이상 파이썬 GDATA와 함께 작동하지 않습니다이 코드 DocsClient class에는 더 이상 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. 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

감사를 피하기 위해 가져 패키지를 추가! 파이썬 3 버전 (2to3을 사용하여 빌드 한)에서 여전히 오류가 발생하지만, 나중에이를 분류하려고 시도 할 것입니다. –

+0

안녕하세요. 귀하의 예를 들어 나를 위해 일하지만, 내가 원하는 폴더에 배치되는 문서 대신 (또는 내가 말한 URL로 말하면 안됩니다) 내 계정에 배치됩니다. 그 문서는 그룹 안의 모든 사람들에게 보여지기로되어있다. – Yebach