Я хочу создать скрипт python, который позволит мне загружать файлы в OneNote через командную строку. Я работаю отлично, и он отлично аутентифицируется. Тем не менее, каждый раз, когда он проходит аутентификацию, он должен открыть окно браузера. (Это связано с тем, что токены аутентификации продолжаются только один час с OneNote, и он должен использовать токен обновления, чтобы получить новый.) Хотя мне вообще не нужно взаимодействовать с окном браузера, тот факт, что ему нужно открыть один из них проблематичен, потому что программа должна работать исключительно в терминальной среде. (Например, код аутентификации OneNote пытается открыть браузер, но он не может, потому что браузер не открывается).Как проверить подлинность OneNote без открытия браузера?
Как я могу обойти эту проблему? Предположите, что изменить настройку среды невозможно.
UPDATE:
Вы должны получить код для того, чтобы генерировать маркер доступа. Это та часть, которая запускает браузер. Это требуется только в первый раз, хотя для этого начального токена. Впоследствии обновить запросы токенов не нужно. (Я называл это для обоих, и это было проблемой).
Это решает проблему открытия браузера при каждом запуске моей программы. Тем не менее, он все еще оставляет проблему браузера, чтобы открыть это начальное время. Я не могу этого сделать в терминальной среде. Есть ли способ обойти это?
E.g. Могу ли я сохранить код и позвонить ему позже, чтобы получить токен доступа (до тех пор, пока он не истечет)? Будет ли код работать для любого пользователя, или он будет работать только для меня?
Да, и я успешно получить и использовать как доступ и обновить маркер. Тем не менее, я обнаружил, что все токены обновления сохраняют пользователя от необходимости вручную щелкнуть их разрешение (которое они должны были сделать в первый раз), но он все равно открывает окно браузера примерно на полсекунды, а затем немедленно отключает это еще раз. Это не проблема для пользователя, которому вообще не нужно взаимодействовать с окном, но это проблема при запуске кода в среде, которая не может запустить окно браузера, поскольку это вызывает запрос ломать. – Elliptica
Я не пробовал это с помощью python, но, конечно, используя скрипты CLI php, процесс извлечения токена acess с использованием долговременного «токена обновления» работает без проблем. @Jorge может исправить меня, но когда вы обновляете «токен доступа», выдается новый длинный «токен обновления», который может быть сохранен для дальнейших вызовов. – codeye
@Elliptica: вызов для обмена токеном обновления для вызова REST и не требует взаимодействия с пользователем. Вы перенаправляете пользователя, что не соответствует моему первоначальному ответу. https://msdn.microsoft.com/en-us/library/office/dn659750.aspx –