2014-12-17 2 views
5

Ben üç görüntüleri image1.jpg, image2.jpg, image3.jpg.I tek post.Below kodum olduğu gibi bunları yüklemek için çalışıyorum:FaceBook Python SDK'yı kullanarak birden çok görüntü nasıl yüklenir?

import facebook 
graph = facebook.GraphAPI(oauth_access_token) 
profile = graph.get_object("me") 
friends = graph.get_connections("me", "friends") 
file1 = open("image1","rb") 
file2 = open('image2', 'rb') 
graph.put_photo(file1, 'Look at this cool photo!') 
graph.put_photo(file2, 'Look at this cool photo!') 

Ama ayrı ayrı mesajlar olarak yüklenen olsun Birden çok resmi tek bir gönderiye nasıl yüklerim?

cevap

0

bu deneyin Bu formun bir dict olmalıdır. Öncelikle, tüm fotoğrafları yüklemeniz ve kimliğini (imgs_id) saklamanız gerekir.

Ardından, args gibi bir dict yapın ve son olarak istek yöntemini çağırın.

Üzgünüm ... değil iyi sıkıştırılmış kod eğer

imgs_id = [] 
    for img in img_list: 
     photo = open(img, "rb") 
     imgs_id.append(api.put_photo(photo, album_id='me/photos',published=False)['id']) 
     photo.close() 

    args=dict() 
    args["message"]="Put your message here" 
    for img_id in imgs_id: 
     key="attached_media["+str(imgs_id.index(img_id))+"]" 
     args[key]="{'media_fbid': '"+img_id+"'}" 

    api.request(path='/me/feed', args=None, post_args=args, method='POST')