Быстрый запуск API Gmail приводит к тому, что локальный хост отказывается подключаться ERR_CONNECTION_REFUSED
Я следую инструкциям в go quickstart gmail api .
О функцииgetTokenFromWeb
, вставив либо длинный URLhttps://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=abcdefg.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.readonly&state=state-token
или
http://localhost:8000
приводит к
Этот сайт недоступен. localhost отказался подключаться. ERR_CONNECTION_REFUSED
Следуя тому же быстрому старту, но для python работает безупречно.
Если я получу токен через python и использую его в быстром запуске Go, он также сработает. Таким образом, проблема заключается только в токене из веб-поиска.
1 ответ
Проблема, с которой вы столкнулись, связана с удалением oob . Когда этот образец был первоначально создан, oob все еще работал. Таким образом, он отобразит для вас красивую веб-страницу, где вы можете скопировать код авторизации.
Это больше не работает, поэтому мы вынуждены использовать или localhost. Поскольку на вашем компьютере, по-видимому, нет веб-сервера, он отображает вам ошибку 404.
Однако, если вы посмотрите на строку URL, вы найдете код авторизации, необходимый для авторизации вашего приложения.
Решение состоит в том, чтобы просто скопировать код из строки URL. Если вы хотите исправить ошибку 404, вам придется выяснить, как запустить веб-сервер, чтобы разместить http://127.0.0.1http://127.0.0.1 .
Образец Python делает это, запуская локальный сервер
creds = flow.run_local_server(port=0)
Php может сделать это, используя что-то вроде этого
php -S localhost:8000 -t examples/
Я не уверен, как это можно сделать с Go.