Flashter
@Flashter
Учусь программировать

Ошибка при подключении библиотеки InstagramScraper\Instagram?

Strict Standards: Non-static method InstagramScraper\Instagram::getLocationTopMediasById() should not be called statically in C:\OpenServer\domains\instagram\www\index.php on line 413

Fatal error: Using $this when not in object context in C:\OpenServer\domains\instagram\www\src\InstagramScraper\Instagram.php on line 449

Структура папок в OpenServer:
7142ea57e5eb4306b4dee04b12ff621d.PNG

Вызов самой функции
$medias = Instagram::getLocationTopMediasById(1);

Сама функция
public function getLocationTopMediasById($facebookLocationId)
    {
        $response = Request::get(Endpoints::getMediasJsonByLocationIdLink($facebookLocationId), $this->generateHeaders($this->userSession));
        if ($response->code === 404) {
            throw new InstagramNotFoundException('Location with this id doesn\'t exist');
        }
        if ($response->code !== 200) {
            throw new InstagramException('Response code is ' . $response->code . '. Body: ' . $response->body . ' Something went wrong. Please report issue.');
        }
        $cookies = self::parseCookies($response->headers['Set-Cookie']);
        $this->userSession['csrftoken'] = $cookies['csrftoken'];
        $jsonResponse = json_decode($response->raw_body, true);
        $nodes = $jsonResponse['location']['top_posts']['nodes'];
        $medias = [];
        foreach ($nodes as $mediaArray) {
            $medias[] = Media::fromTagPage($mediaArray);
        }
        return $medias;
    }


Источник
библиотека
  • Вопрос задан
  • 381 просмотр
Решения вопроса 1
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Ошибка сообщает вам, что нестатичский метод нельзя вызывать статически.
Т.е. вам сначала надо экземпляр класса Instagram создать, а затем уже вызвать его метод - через стрелочку, а не ::

Даже по вашей ссылке примеры есть, как надо. Там же замечание, что методы больше не статические.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы