如何给 google 个联系人添加照片?
How to add photo to google contact?
我正在尝试使用 python 和 gdata 库将照片添加到 google 联系人。
contact = gd_client.GetContact('http://www.google.com/m8/feeds/contacts/denisz.pol%40gmail.com/base/61839cbb8a335dbb')
gd_client.ChangePhoto('img.jpeg',contact)
但是出现错误:
AttributeError Traceback (most recent call last)
<ipython-input-62-03d065010e8f> in <module>()
----> 1 gd_client.ChangePhoto('img.jpeg',contact)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gdata/contacts/client.py in change_photo(self, media, contact_entry_or_url, content_type, content_length, auth_token, **kwargs)
253 ifmatch_header = None
254 if isinstance(contact_entry_or_url, gdata.contacts.data.ContactEntry):
--> 255 photo_link = contact_entry_or_url.GetPhotoLink()
256 uri = photo_link.href
257 ifmatch_header = atom.client.CustomHeaders(
AttributeError: 'NoneType' object has no attribute 'href'
如果我给联系人添加照片 "by hands" 什么都不会改变。
我做错了什么?
这很奇怪,但是如果我们在 ChangePhoto
函数之外调用 GetPhotLink()
,href
属性将不会是 None
。所以这段代码
gd_client.ChangePhoto('img.jpeg',contact.GetPhotoLink().href, content_type='image/*')
将更改照片。
我正在尝试使用 python 和 gdata 库将照片添加到 google 联系人。
contact = gd_client.GetContact('http://www.google.com/m8/feeds/contacts/denisz.pol%40gmail.com/base/61839cbb8a335dbb')
gd_client.ChangePhoto('img.jpeg',contact)
但是出现错误:
AttributeError Traceback (most recent call last)
<ipython-input-62-03d065010e8f> in <module>()
----> 1 gd_client.ChangePhoto('img.jpeg',contact)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gdata/contacts/client.py in change_photo(self, media, contact_entry_or_url, content_type, content_length, auth_token, **kwargs)
253 ifmatch_header = None
254 if isinstance(contact_entry_or_url, gdata.contacts.data.ContactEntry):
--> 255 photo_link = contact_entry_or_url.GetPhotoLink()
256 uri = photo_link.href
257 ifmatch_header = atom.client.CustomHeaders(
AttributeError: 'NoneType' object has no attribute 'href'
如果我给联系人添加照片 "by hands" 什么都不会改变。
我做错了什么?
这很奇怪,但是如果我们在 ChangePhoto
函数之外调用 GetPhotLink()
,href
属性将不会是 None
。所以这段代码
gd_client.ChangePhoto('img.jpeg',contact.GetPhotoLink().href, content_type='image/*')
将更改照片。