Я создаю веб-сайт, и все, что мне нужно, это список подписчиков из одной учетной записи Instagram. Я прошел через шаги для аутентификации своего веб-приложения с помощью auth 2.0. Я просто понял, что с этой аутентификацией я могу получить доступ только к подписчикам учетной записи, к которой принадлежит каждый токен доступа.
Есть ли другой способ получить доступ к подписчикам из моей желаемой учетной записи?
https://api.instagram.com/v1/users/4082347837/followed-by?access_token=AccessToken
Вывод запроса API: –
{ ["meta"]=> object(stdClass)#2 (3) { ["error_type"]=> string(18) "APINotAllowedError" ["code"]=> int(400) ["error_message"]=> string(29) "you cannot view this resource" } }
Вероятно, вы client_id находится в режиме песочницы. Вы не можете получать информацию со счетов, кроме белого списка. Вы можете оставить режим песочницы, если вы отправите приложение для просмотра.
Но есть более простое решение. Вы можете получить общедоступную информацию из веб-версии (API wihout) только одним звонком:
$otherPage = 'nasa'; $response = file_get_contents("https://www.instagram.com/$otherPage/?__a=1"); if ($response !== false) { $data = json_decode($response, true); if ($data !== null) { $follows = $data['user']['follows']['count']; $followedBy = $data['user']['followed_by']['count']; echo $follows . ' and ' . $followedBy; } }
Обновить. Извините, я неправильно понял ваш вопрос. Получить список можно без API. Вам нужен токен csrf и идентификатор пользователя в файлах cookie, а затем вызывают запрос:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/query/"); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //You need the csrftoken, ds_user_id curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: ...")); curl_setopt($ch, CURLOPT_POST, 1); $userId = 528817151; curl_setopt($ch, CURLOPT_POSTFIELDS, "q=ig_user($userId) { followed_by.first(10) { count, page_info { end_cursor, has_next_page }, nodes { id, is_verified, followed_by_viewer, requested_by_viewer, full_name, profile_pic_url, username } } }"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close ($ch); var_dump($server_output);
Вы можете получить правильные файлы cookie, выполнив действие входа на веб-сайт Instagram.