Baltazar
|
Posted: Mon Oct 19, 2020 17:43 Post subject: |
|
|
Как показала практика, использовании портабельных версий браузеров в связке с CloudPlugin'ом оказалось довольно нетривильной задачей. Мои попытки запуска внешнего браузера через bat ни к чему не привели т.к. использование батника примерно со следующим содержимым
Code: | App\Chrome-bin\chrome.exe --proxy-server= --user-data-dir=Data\profile --disk-cache-dir=Data\Temp %1 |
в качестве исполняемого файла внешнего браузера приводит к генерации подобной командной строки
Code: | C:\Windows\system32\cmd.exe /c ""D:\xxx\Chrome.bat" https://accounts.google.com/o/oauth2/v2/auth?client_id=xxx&response_type=code&scope=https://www.googleapis.com/auth/drive&login_hint=xxx&redirect_uri=http://localhost%3A38080&state=xxx&code_challenge=xxx&code_challenge_method=S256" |
в которой основная команда получается заключена в кавычки, из-за чего содержимое ссылки воспринимается как последующий набор команд и отрабатывает в консоли соответственно :
Quote: | "response_type" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"scope" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"login_hint" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"redirect_uri" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"state" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"code_challenge" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"code_challenge_method" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. | Ввиду чего запущенный браузер стартует с некорректно переданной ссылкой и весь процесс авторизации идёт псу под хвост.
Повоевав какое-то время с ветряными мельницами (всмысле с кавычками) я плюнул и на autoit набросал такой костыль - launcher :
Code: | #NoTrayIcon
$cmd = IniRead(@ScriptDir & '\config.ini', 'config', 'cmd', '')
Run($cmd & " " & $CmdLine[1]) | который вычитывает параметры командной строки из ini-файла "config.ini", секции "config", ключа "cmd". Сэмпл ini и скомпилированный launcher можно взять тут. Кто не доверяет - исходник выше, компилируйте сами Надеюсь это кому-нибудь ещё пригодится |
|