2010-05-12 22 views
10

Chciałbym wiedzieć, jak dodać zdjęcie do wydarzenia za pomocą interfejsu API Graph Graph API. Widziałem this question i wypróbowałem kilka wariantów tego tematu, bez żadnego sukcesu. Oficjalne dokumenty nie wydają się o tym wspominać.Jak przesłać zdjęcie do wydarzenia za pomocą interfejsu API Graph Graph API?

Używam PHP dla tego konkretnego projektu i zajrzałem do kodu źródłowego PHP SDK, który nie jest w żaden sposób pomocny. Żądanie metadanych zdjęć przy użyciu https://graph.facebook.com/eventid/picture?metadata=1&access_token ... nie wydaje się być rozpoznawane, więc nie ma tam żadnej pomocy.

Czy ktoś napotkał przykład lub dokumentację, jak to zrobić? (nie przejmuj się jakim językiem jest)

Odpowiedz

-1

Wygląda na to, że nie jest jeszcze obsługiwany przez Graph API. Nie jest to wspomniane w oficjalnej dokumentacji, a próby wywoływania interfejsu API w starym stylu nie działają.

Poczyniono pewne dyskusje na temat tego, co różni ludzie próbowali na tym forum: http://forum.developers.facebook.com/viewtopic.php?id=56717

Na razie wydaje się, że jedynym rozwiązaniem jest użycie starego API (official documentation). Odpowiedź Paarth zawiera dodatkowe przydatne linki, aby zacząć z tym. Ponieważ jednak moje pytanie dotyczyło Graph API, odpowiedź (na razie) brzmi: nie da się tego zrobić.

Zaktualizuję tę odpowiedź, ponieważ obsługa przesyłania obrazów zdarzeń jest dodawana do Graph API.

+0

Interfejs API wykresu obsługuje to za pomocą argumentu "source". – Zilverdistel

2

Podczas wyszukiwania problemu znalazłem następujące linki, które mogą być interesujące.

http://wiki.developers.facebook.com/index.php/PHP

http://wiki.developers.facebook.com/index.php/Photos.upload

http://developers.facebook.com/docs/reference/rest/

W ostatnim linku, sprawdź "metod publikowania" i "metod API Kokpit". Posiada metody przesyłania plików wideo i zdjęć.

Photo: http://developers.facebook.com/docs/reference/rest/photos.upload

Wideo: http://developers.facebook.com/docs/reference/rest/video.upload

-------------- EDIT --- 21 maja 2010,8: 58 PM IST ---------------------

Sprawdź ten wątek, pokazuje kod uplodujący zdjęcie w PHP za pomocą interfejsu API wykresu, o którym wspomniałeś.

Upload Photo To Album with Facebook's Graph API

Mam nadzieję, że to pomaga.

dzięki.

+1

Widziałem te strony, ale nie chodzi o Graph API. Podczas gdy stary interfejs API będzie obsługiwany przez jakiś czas, piszę swoją aplikację internetową, aby działała przez jakiś czas bez konserwacji. W związku z tym chciałbym skorzystać z obecnego interfejsu API. Korzystam już z Graph API w wielu innych zadaniach, a miksowanie różnych interfejsów API może sprawić, że sytuacja będzie raczej nieprzyjemna. – Thorarin

+0

Sprawdź link dodany do edycji. Sprawdź również ten nowy lekki interfejs API facebook Java. Być może znajdziesz tam odniesienie. ** http: //restfb.com/** dzięki. – Parth

1

miałem ten sam problem, to prace kodu dla mnie:

// create the event 
// ... 

// upload the picture 
$file = "pathtothefile"; 
$args[basename($file)] = '@' . realpath($file); 
$data = $facebook->api('/'. $event_id, 'post', $args); 

Ale czasami otrzymuję „(# 324) Brak lub nieprawidłowy plik obrazu” błędzie

14

ta jest obsługiwana przez Graph API jest jednak słabo udokumentowany. Należy wysłać obraz jako załącznik wieloczęściowy w żądaniu POST. Wypróbuj to:

curl -F 'access_token=...' \ 
-F 'name=Test Event' \ 
-F 'description=The description' \ 
-F 'start_time=2012-09-01T12:00:00+0000' \ 
-F '@[email protected]/path/to/image.jpg' \ 
https://graph.facebook.com/me/events 

To wydarzenie powinno mieć zdjęcie.

They have recently added support for this do pakietu PHP SDK.

Rozwidlałem their python-sdk i dodano obsługę wieloczęściową oraz dodano prostą metodę put_event, która akceptuje adres URL obrazu, jak również zwykłe parametry.

+0

Michael, dzięki za to widmo Pythona, działa świetnie. Musiałem zrobić małą poprawkę lokalnie, aby to zadziałało - jeśli nie określisz parametru "id" parametru "put_event", domyślnie będzie to "me/events", co spowoduje awarię HTTPSConnection później w kodzie. Powinien to być "/ ja/zdarzenia". Proszę zaktualizować widelec, gdy masz czas. –

0

Oto przykładowy przykład z użyciem FbGraph napisany przez Nov Matake w Ruby on Rails. Spędzam wiele godzin, aby dowiedzieć się, jak przesłać obraz na wydarzenie. Mam nadzieję, że to pomoże i zaoszczędzić czas innym.

me = FbGraph::User.me(ACCESS_TOKEN) 
event = me.event!(
    :name => 'FbGraph test event', 
    :start_time => 1.week.from_now.to_i, 
    :end_time => 2.week.from_now.to_i, 
    :picture => File.new("/home/jeetu/Desktop/my_birthday.png") 
) 
Powiązane problemy