我们要从Google API导入联系人照片。
以下代码对我有用。
for email, name, entry in feed:
photo = client.GetPhoto(entry)
if photo:
fname = str(uuid.uuid4()) + '.jpg'
image_file = open(dname + '/' + fname, 'wb')
image_file.write(photo)
image_file.close()
result[email] = '/media/import/%s/%s' % (dir, fname)
现在,由于某些原因,我们进入文件原子Feed副本。所以方法GetPhoto
没有用。
任何想法,为什么会发生以及检索联系人照片的当前方式是什么?
答案 0 :(得分:1)
以下是谷歌API更改的工作。现在我们正在使用对API的直接请求。
for email, name, entry in feed:
photo_link = e.GetPhotoLink()
if photo_link:
request = http.request(
'GET',
photo_link.href,
headers={
'Authorization':'OAuth %s' % client.current_token.access_token
}
)
if request.status == 200:
photo = str(request.read())
fname = str(uuid.uuid4()) + '.jpg'
image_file = open(dname + '/' + fname, 'wb')
image_file.write(photo)
image_file.close()
result[email] = '/media/import/%s/%s' % (tid, fname) #str(photo.href) #