Я использую [Net::Google::Drive::Simple][1]
, чтобы извлечь документ из Интернета и поместить его на свой Google Диск. Сценарий работал нормально, пока я не начал получать следующую ошибку: Token refresh failed at /usr/local/share/perl/5.20.2/OAuth/Cmdline.pm line 76
.Получение сообщения «400 Bad Request» и «invalid_grant» с «Net :: Google :: Drive :: Simple»
Распечатка заголовки из ответа от Google показывает следующее:
HTTP/1.1 400 Bad Request
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: close
Date: Mon, 24 Oct 2016 08:32:13 GMT
Pragma: no-cache
Accept-Ranges: none
Server: GSE
Vary: Accept-Encoding
Content-Type: application/json; charset=utf-8
Expires: Mon, 01 Jan 1990 00:00:00 GMT
Alt-Svc: quic=":443"; ma=2592000; v="36,35,34"
Client-Date: Mon, 24 Oct 2016 08:32:13 GMT
Client-Peer: 2607:f8b0:4006:80e::200d:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=US/O=Google Inc/CN=Google Internet Authority G2
Client-SSL-Cert-Subject: /C=US/ST=California/L=Mountain View/O=Google Inc/CN=accounts.google.com
Client-SSL-Cipher: ECDHE-RSA-AES128-SHA
Client-SSL-Socket-Class: IO::Socket::SSL
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
{
"error" : "invalid_grant"
}
Я проверил часы. Это место. Когда вы говорите «еще раз подтвердите свой код», что вы имеете в виду? – StevieD
Oauth2, всплывающее окно запрашивает доступ. Вы используете токен обновления, где вы его получили? Ваш скрипт должен был получить разрешение на запись в учетную запись Google Диска. – DaImTo
Это perl-скрипт, выполняющий работу, которая извлекает секрет из файла .yml на моем сервере. Когда я смотрю на свою консоль Google, я могу видеть учетные данные для API Диска Google, и все соответствует тому, что находится в моем .yml-файле. – StevieD