Это только ответ на ваш третий вопрос. Я посмотрю, смогу ли я найти кого-нибудь с ответами на первые два.
API, к которому вы обращаетесь, использует делегированные разрешения, то есть вы обращаетесь от имени вошедшего в систему пользователя. Когда пользователь входит в систему, его личность проверяется, и как только это происходит, Azure AD возвращает код, который вы можете обменять на токен доступа. Следовательно, по определению невозможно получить код без входа пользователя в систему.
Существует другой вид разрешения, разрешение приложения, которое не поддерживается этим API, но если бы оно было, работало бы так, как вы хотите. Я тоже спрошу об этом.