2013-07-18 2 views
0

Мы получаем «Запрещенную ошибку (403)» при попытке загрузить данные в облаке Google, когда на моем компьютере есть перекос во времени, т.е. мои машинные часы не синхронизированы/не обновлены с помощью сервера NTP ,Получение 403 Ошибка Forbbiden с облаком Google

Почему Google не возвращает правильную информацию об ошибке?

+0

Как вы выполняете загрузку и аутентификацию? Вы используете gsutil? Веб-интерфейс? Пользовательская программа на C++? Вы выполняете аутентификацию с помощью 2-шагового OAuth 2 или учетной записью службы? Ваши часы перекошены на несколько секунд или несколько лет? –

+0

Мы используем программу на C++, которая использует google API v1.0 для подключения и загрузки данных в облако Google. Для аутентификации мы используем идентификатор подписи (GOOG1) и идентификатор пользователя i.e. – user2595064

+0

Это новый проект? Если да, включили ли вы доступ API 1.0? По умолчанию все новые проекты доступны только с API 2.0. Если нет, см. Https://developers.google.com/storage/docs/reference/v1/apiversion1#enabling для получения инструкций. –

ответ

1

Очень вероятно, что вы задали поле «Дата» неправильно. Все (подписанные) API v1.0-запросы должны содержать заголовок «Дата», и этот заголовок должен быть частью подписи для запроса. Поле «Дата» должно находиться в пределах 15 минут от реального времени, которое серверы Google получают ваш запрос. Если ваши часы более чем на 15 минут перекошены, ваши подписанные запросы будут отклонены.

Подробнее см. В документации по API версии 1.1: https://developers.google.com/storage/docs/reference/v1/developer-guidev1#authentication в разделе CanonicalHeaders.

Это также относится к S3. См. Здесь: http://aws.amazon.com/articles/1109?_encoding=UTF8&jiveRedirect=1#04

+0

Спасибо за ответ. – user2595064

+0

Спасибо за ответ. Поскольку часы в моей системе были искажены, это должно быть более 15 минут искажено, но почему Google не возвращает правильную ошибку, а не отклоняет запрос. С amazon мы получаем правильную ошибку. – user2595064

+0

Ошибка, которую я ожидаю увидеть: RequestTimeTooSkewed Разница между временем запроса и временем сервера слишком велика. (указано время). Вы видите что-то еще? –

Смежные вопросы