Я пытаюсь реализовать https://github.com/mgp25/Instagram-API
на laravel и после успешного входа в Instagram я должен использовать _setUser
использовать выходные данные после входа в систему, например:
public function check()
{
$username = 'XXX';
$password = 'XXX';
$ig = new Instagram();
try {
$ig->_setUser($username, $password);
} catch (\Exception $e) {
echo 'Something went wrong: '.$e->getMessage()."\n";
exit(0);
}
}
в этом коде я получаю эту ошибку:
"Call to protected method InstagramAPI\Instagram::_setUser() from context 'App\Http\Controllers\InstagramController'"
Этот метод _setUser был публичным в предыдущих версиях. Разработчики API, похоже, рекомендуют использовать функцию login () для каждого вызова, и она проверит, нужно ли выполнять новый полный вход в систему, если это не нужно, будет вызываться _setUser.
В прошлом выполнение login () для каждого запроса было очень медленным, но теперь, кажется, намного лучше с новыми версиями частного API.
Для входа в систему вы можете использовать этот фрагмент:
$username = 'password';
$password = 'username';
$instagram = new Instagram(false, true, [
'storage' => 'mysql',
'dbhost' => 'localhost',
'dbname' => 'sessions',
'dbusername' => 'root',
'dbpassword' => '',
]);
$instagram->login($username, $password);
и для доступа к идентификатору пользователя вы можете сделать это:
$instagram->people->getUserIdForName($username);
и после того, как вы успешно вошли в систему, попробуйте это для доступа к текущему пользователю:
$instagram->account->getCurrentUser()->getUser();