我想将大量图片转移到picassa。我使用InsertPhotoSimple上传没有任何问题,但我也想上传元数据并且在使用InsertPhoto时遇到问题。任何人都可以指出一个简单的例子或告诉我我做错了什么?
以下是我现在所拥有的:
#!/bin/python
import gdata.photos.service
import gdata.media
gd_client = gdata.photos.service.PhotosService()
gd_client.email = 'my_google_email'
gd_client.password = 'my_pass'
gd_client.source = 'my_source'
gd_client.ProgrammaticLogin()
album_url = '/data/feed/api/user/%s/albumid/%s' % ('default', 'default')
filename = 'myfile.jpg'
metadata = gdata.photos.PhotoEntry()
metadata.title = 'My Photo Title'
metadata.media.keywords = 'keyword1, keyword2, keyword3'
upload_photo = gd_client.InsertPhoto(album_url, metadata, filename, content_type='image/jpeg')
但是当我运行它时,它每次都会窒息: Traceback(最近一次调用最后一次): 文件“./picassa.py”,第36行,在? upload_photo = gd_client.InsertPhoto(album_url,metadata,filename,content_type ='image / jpeg') 在InsertPhoto中输入文件“/home1/alptownc/public_html/photos/gdata-2.0.13/gdata/photos/service.py”,第425行 转换器= gdata.photos.PhotoEntryFromString) 文件“/home1/alptownc/public_html/photos/gdata-2.0.13/gdata/service.py”,第1236行,邮政 media_source = media_source,converter = converter) PostOrPut中的文件“/home1/alptownc/public_html/photos/gdata-2.0.13/gdata/service.py”,第1286行 data_str = str(数据) 文件“/home1/alptownc/public_html/photos/gdata-2.0.13/atom/init.py”,第377行, str return self.ToString() 在ToString中输入文件“/home1/alptownc/public_html/photos/gdata-2.0.13/atom/init.py”,第374行 返回ElementTree.tostring(self._ToElementTree(),encoding = string_encoding) _ToElementTree中的文件“/home1/alptownc/public_html/photos/gdata-2.0.13/atom/init.py”,第369行 self._AddMembersToElementTree(new_tree)
我知道我错过了一些愚蠢而简单的东西,但我看不出它是什么。感谢
答案 0 :(得分:0)
我认为您需要使用insertPhotoEntry
而不仅仅是insertPhoto
?
答案 1 :(得分:0)
看了你的代码后,似乎没有任何问题。我找到了这个可能有用的Google开发者链接。
https://developers.google.com/picasa-web/docs/1.0/developers_guide_php#PostPhotos