Я пытаюсь решить проблемы, которые требуются от Instagram при входе в свою учетную запись, я использую библиотеку Instagram API mgp25 (стабильная версия 4.1.0)
Мне удалось понюхать необходимый запрос, чтобы решить задачу, но у меня возникают проблемы при добавлении их в библиотеку
Я написал эту функцию, чтобы запросить код на мою электронную почту или телефон
// Challenge url on this format /challenge/1463452997/1zS1L8kl62/
public function sendChallenge($challenge_url)
{
return $this->request($challenge_url)
->addParam('choice', 1)
->addPost('device_id', $this->device_id)
->addPost('guid', $this->uuid)
->addPost('_csrftoken', $this->client->getToken())
->getResponse(new Response\UserInfoResponse());
}
Моя проблема заключается в том, что всякий раз, когда я запрашиваю эту функцию независимо от того, где я ее ставлю,
«Пользователь не вошел в систему. Пожалуйста, вызовите login () и повторите попытку.»
так как я могу использовать эту функцию после неудачного входа в систему (необходим для получения URL-адреса запроса), чтобы пользователь не вошел в исключение
Решением было установить setNeedsAuth (false)
// Challenge url on this format /challenge/1463452997/1zS1L8kl62/
public function sendChallenge($challenge_url)
{
return $this->request($challenge_url)
->setNeedsAuth(false)
->addParam('choice', 1)
->addPost('device_id', $this->device_id)
->addPost('guid', $this->uuid)
->addPost('_csrftoken', $this->client->getToken())
->getResponse(new Response\UserInfoResponse());
}
Это сработало для меня:
шаги: