Я использую facebook С# sdk для своего проекта
dynamic pageData = client.Get("/"+pageId+"/Posts", new {
access_token = _userAccesstoken
});
var data = pageData[0];
В этом случае, если есть фотография, то изображение, которое оно возвращается, невелико по сравнению с реальной картиной, размещенной на странице facebook.
например, это то, что я получаю как изображение:
Оригинальный маленький URL-адрес изображения
Но это реальная картина, которую я должен получить:
Оригинальный URL большого изображения
Есть ли что-то, что мне нужно изменить?
Единственное решение, которое у меня есть, - это использовать API-интерфейс Graph, чтобы вернуть ссылку на веб-страницу, содержащую только эту картинку, и выполнить поиск по этой строке:
<a class="fbPhotosPhotoActionsItem" href="https://
Это вернет исходное изображение, которое вы можете скачать. Это рабочий код в PHP:
function getFullImageURL($url) {
$crawlerHelper = new CrawlerHelper();
$response = $crawlerHelper->httpRequest($url);
$html = $response->getHtml();
$imageLink = explode('<a class="fbPhotosPhotoActionsItem" href="https://', $html);
if (count($imageLink) == 2) {
$imageLink = explode('"', $imageLink[1]);
} else {
// This could mean other type of post, like video
echo 'Image not found';
return;
}
return 'https://'.str_replace('?dl=1', '', html_entity_decode($imageLink[0]));
}