Próbuję pobrać wszystkie zdjęcia i filmy z wydarzenia na Facebooku za pomocą interfejsu API wykresu Facebook.Pobieranie zdjęć i filmów z wydarzenia na Facebooku za pomocą interfejsu Graph API
Obecnie używam końcowego /{event-id}/feed
, opisane tutaj https://developers.facebook.com/docs/graph-api/reference/v2.6/event/feed
mogę prawie wszystko, czego potrzebuję od tego punktu końcowego, określając pól chcę, ale mam problemy z dostaniem się do The URL filmy w pełnej rozdzielczości. Mogę je łatwo uzyskać, wykonując kolejne wywołanie API, ale chcę, jeśli to możliwe, uniknąć kolejnego wywołania API dla wszystkich filmów.
Należy zauważyć, że punkt końcowy /{event-id}/feed
zwraca tablicę o wartości Post objects
, której właśnie dokonuję kwerendy przy użyciu parametru zapytania fields
.
https://developers.facebook.com/docs/graph-api/reference/v2.6/post
Oto pola jestem określając przy wywołaniu /{event-id}/feed
końcowy
Pole attachments
daje mi adres obrazu wideo w wysokiej rozdzielczości i ID samego filmu. Oznacza to, że muszę wykonać dodatkowe wywołanie API, aby uzyskać adres URL filmu w wysokiej rozdzielczości przy użyciu punktu końcowego /{video-id}
.
"attachments": {
"data": [
{
"media": {
"image": {
"height": 405,
"src": "https://scontent.xx.fbcdn.net/v/t15.0-10/s720x720/13433040_10154318390596912_1315696369_n.jpg?oh=46987fa671df2deca3ce935a68e1ff30&oe=58008D60",
"width": 720
}
},
"target": {
"id": "10154318389716912",
"url": "https://www.facebook.com/{username-removed}/videos/10154318389716912/"
},
"type": "video_autoplay",
"url": "https://www.facebook.com/{username-removed}/videos/10154318389716912/"
}
]
}
Pole nr source
daje link do filmu w niskiej rozdzielczości.
"source": "https://video.xx.fbcdn.net/v/t42.1790-2/13543016_152852391800500_1248221173_n.mp4?efg=eyJybHIiOjMxMywicmxhIjo1MTIsInZlbmNvZGVfdGFnIjoic3ZlX3NkIn0\u00253D&rl=313&vabr=174&oh=f0f42856741b81030ea529fe89f80834&oe=5771B45B"
Pole object_id
podaje identyfikator wideo.
Pole properties
podaje mi długość filmu.
Więc nie mam szczęścia. Zastanawiam się, czy możliwe jest wykonanie zagnieżdżonego połączenia, które dałoby mi adres URL wideo o wysokiej rozdzielczości, lub gdybym mógł nazwać jakiś punkt końcowy za pomocą identyfikatora wideo, który zwraca 302 przekierowanie do wideo. Czy mogę zmodyfikować parametry do źródłowego adresu URL?
Każda pomoc jest doceniana. Dzięki!
Witaj, @Rui, witam w StackOverflow, mam nadzieję, że nie masz nic przeciwko edycji, tylko ułagodzenie odpowiedzi na to pytanie.Jedynym małym usprawnieniem, które mogę wymyślić, jest to, że sam dostarczyłeś testowalny przykładowy kod, ale naprawdę nie jest potrzebny ponieważ link objaśnia wszystko, powodzenia –
To jest to, do czego dążyłem, ale nie byłem pewien jak. Byłoby wspaniale, gdyby był przykład w jaki sposób mogę grupować te żądania razem, aby pierwsze żądanie zwróciło identyfikatory wideo, które wywołałoby drugie żądanie, jeśli ma to sens. – raRaRa