2014-12-17 14 views
5

mam trzy obrazy image1.jpg, image2.jpg, image3.jpg.I próbuję załadować je jako pojedynczy post.Below jest mój kod:Jak przesłać wiele zdjęć za pomocą FaceBook Python SDK?

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!') 

Ale oni dostać dodany jako odrębne stanowiska w oddzielny images.How mogę przesłać wiele zdjęć w jednym poście?

Odpowiedz

0

wypróbowałeś: put-wall-post? ..or put-object

put-wall-post może być to, czego szukasz:

przywiązanie - dict który dodaje zorganizowanego załącznik do wiadomości jest wysłana do ściany. Jeśli udostępniasz adres URL, możesz użyć parametru załącznika, aby w poście pojawił się podgląd miniatury. To powinno być DICT postać:

Źródło: http://facebook-sdk.readthedocs.io/en/latest/api.html#api-reference

0

Spróbuj tego. Najpierw musisz przesłać wszystkie zdjęcia i zachować identyfikator (imgs_id).

Następnie, wykonaj dyktat jak argumenty, a na końcu metodę zapytania o połączenie.

Przepraszam, jeśli nie najlepszy kod sprężone ...

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') 
Powiązane problemy