2013-07-13 1 views
1

Я пытаюсь синхронизировать файл, но диск жалуется на формат даты. Он говорит, что в документации, что он использует RFC 3339 формат даты, но это ошибка я получаю при прохождении его действительный ISO RFC 3339 Дата совместимый:Формат даты GoogleDrive?

<HttpError 400 when requesting https://www.googleapis.com/drive/v2/files?alt=json returned "Invalid value for: Invalid format: "2013-06-13T20:19:24.000001" is too short"> 

включена дата, которую я искусственно микросекунда 1, так как изначально я думал, что Google Диск педантичен в том, что микросекунда не присутствует. Тем не менее, по-прежнему возникает такая же ошибка, если присутствует микросекунда или нет. Я также попытался установить часовой пояс UTC, который добавляет +00: 00. Но тогда Google жалуется на наличие смещения часового пояса.

Кто-нибудь знает, что Google ожидает формат даты RFC 3339?

Update: Думал показать другие примеры форматов:

<HttpError 400 when requesting https://www.googleapis.com/drive/v2/files?alt=json returned "Invalid value for: Invalid format: "2013-06-13T20:19:24" is too short"> 

<HttpError 400 when requesting https://www.googleapis.com/drive/v2/files?alt=json returned "Invalid value for: Invalid format: "2013-06-13T20:19:24+00:00" is malformed at "+00:00""> 

ответ

4

Используйте любой RFC 3339 представление, но избежать : в качестве разделителя для секунд. Вместо этого используйте ..

2013-07-13T17:08:57.52Z и 2013-07-13T17:08:57.52-00:00 Рабочие образцы.

+0

Это похоже на ошибку, но мы должны разрешить 'T17: 08: 57: 00', хотя мы этого не делаем. –

+0

[rfc 3339 is clear] (http://tools.ietf.org/html/rfc3339#section-5.6): '.' является единственным вариантом для фракций второго разделителя. – jfs

1

Формат одна даты я не пробовал просто работал:

2013-06-13T20:19:24.000001+00:00 
+0

В [foo должно быть дата-время RFC 3999] (http://feed2.w3.org/docs/error/InvalidRFC3339Date.html) первая общая ошибка, указанная в списке, - это забыть информацию о часовом поясе (как и вы) , – Bakuriu

+0

Я изначально предоставил его, но Google жаловался на это, поэтому я взял его. Кажется, что необходимы как микросекунды, так и tzinfo. Нечетным является то, что метод isoformat() пропускает микросекунды при нуле. Если RFC 3339 требует микросекунды, зачем их опускать? – Craig

1

Вот некоторый RFC 3339 примеров Интернета формат даты/времени:

  • 1985-04-12T23: 20: 50.52Z
  • 1996-12-19T16: 39: 57-08: 00
  • 1990-12-31T23: 59: 60Z
  • 1990-12-31T15: 59: 60-08: 00
  • 1937-01-01T12: 00: 27.87 + 00: 20

RFC3339