Итак, я в основном прочитал все топи c в StackOverflow относительно синтаксического анализа фида Instagram с использованием PHP, и я не могу заставить его работать.
Когда я открываю https://instagram.com/harvestcoffeebrewers/?__a=1 в моем браузере, даже в режиме инкогнито, он возвращает именно то, что я хочу (поэтому для этого не требуется токен API или вход в Instagram).
Однако, когда я пытаюсь file_get_contents или cURL тот же URL (и я буквально пробовал ВСЕ параметры настройки CURL, с разными пользовательскими агентами, следить за местоположениями, притворяясь ботом-роботом, et c. et c.), это не работает: Instagram возвращает HTML их страницы входа, которая впоследствии отображает только значок Instagram в фоновом режиме.
Итак, один топи c, который я обнаружил, предположил, что, возможно, мой веб-хост (Strato, немецкий) был заблокирован Instagram для выполнения запросов CURL / file_get_content? Это действительно то, что происходит?
РЕДАКТИРОВАТЬ: Похоже, что действительно Instagram НЕ позволяет мне просматривать профили Instagram на моем веб-сервере (Strato, Германия)
<?php
// CURL METHOD:
$url = 'https://instagram.com/harvestcoffeebrewers/?__a=1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "ABACHOBot");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json') );
$data = curl_exec($ch);
curl_close($ch);
var_dump($data); // Show the response
// FILE_GET_CONTENTS method
$instaResult = file_get_contents('https://www.instagram.com/harvestcoffeebrewers/?__a=1');
$insta = json_decode($instaResult);
var_dump($insta);
?>