2013-07-24 2 views
1

Я следую за документом https://developers.google.com/drive/push для получения push-уведомлений с Google Диска.Не получать push-уведомления Google-Drive

  1. Мой домен зарегистрирован (в панели API Access в API-интерфейсе).
  2. У меня есть пользовательская программа в зарегистрированном домене, прослушивающая htpps (с самозаверяющим сертификатом). https://myveryowndomain.bc.com/drive/notifications
  3. Каналы уведомлений созданы надлежащим образом для любых изменений (получите код ответа 200).
  4. Я вношу изменения в свои файлы в Google Диске, но ничего не приходит в , даже сообщение синхронизации.

Я что-то упустил?

CONFIG: -------------- REQUEST -------------- 
POST https://www.googleapis.com/drive/v2/changes/watch 
Accept-Encoding: gzip 
Authorization: Bearer 1/QRYL1ZHO4KyUmjkbHVWXCWglxJ5e6-xxxxxxxxxxxxx 
User-Agent: push-test-project Google-HTTP-Java-Client/1.15.0-rc (gzip) 
Content-Type: application/json; charset=UTF-8 
Content-Length: 150 

Jul 24, 2013 6:02:04 PM com.google.api.client.http.HttpRequest execute 
CONFIG: curl -v --compressed -X POST -H 'Accept-Encoding: gzip' -H 'Authorization: Bearer 1/QRYL1ZHO4KyUmjkbHVWXCWglxJ5e6-xxxxxxxxxxxxx' -H 'User-Agent: push-test-project Google-HTTP-Java-Client/1.15.0-rc (gzip)' -H 'Content-Type: application/json; charset=UTF-8' -d '@-' -- 'https://www.googleapis.com/drive/v2/changes/watch' << $$$ 
Jul 24, 2013 6:02:04 PM com.google.api.client.util.LoggingByteArrayOutputStream close 
CONFIG: Total: 155 bytes 
Jul 24, 2013 6:02:04 PM com.google.api.client.util.LoggingByteArrayOutputStream close 
CONFIG: {"address":"https://myveryowndomain.bc.com/drive/notifications","id":"f143f7ba-759a-42b8-8748-e39a71ba13cc","type":"web_hook"} 
Jul 24, 2013 6:02:08 PM com.google.api.client.http.HttpResponse <init> 


CONFIG: -------------- RESPONSE -------------- 
HTTP/1.1 200 OK 
ETag: "RFvxxXV9yoZniidCHgcusodAlXI/AaEAn8d9Ma5bpJZNmM0F72Crxxx" 
Content-Length: 247 
X-XSS-Protection: 1; mode=block 
Expires: Fri, 01 Jan 1990 00:00:00 GMT 
Server: GSE 
X-Content-Type-Options: nosniff 
Pragma: no-cache 
Cache-Control: no-cache, no-store, max-age=0, must-revalidate 
X-Frame-Options: SAMEORIGIN 
Date: Wed, 24 Jul 2013 09:02:08 GMT 
Content-Encoding: gzip 
Content-Type: application/json; charset=UTF-8 

Jul 24, 2013 6:02:08 PM com.google.api.client.util.LoggingByteArrayOutputStream close 
CONFIG: Total: 296 bytes 
Jul 24, 2013 6:02:08 PM com.google.api.client.util.LoggingByteArrayOutputStream close 
CONFIG: { 
"kind": "api#channel", 
"id": "f143f7ba-759a-42b8-8748-e39a71ba13cc", 
"resourceId": "_X2yFKJJ6yLq3eIrw3OSxxxxxxx", 
"resourceUri": "https://www.googleapis.com/drive/v2/changes?includeDeleted=true&includeSubscribed=true&maxResults=100&alt=json", 
"token": "", 
"expiration": "1374660126357" 
} 
+0

Is _Раздел: Пт, 01 янв 1990 00:00:00 GMT_ в ответе нормально? – user454322

+0

Истекает: Wed, 24 Jul 2013 10:02:06 GMT'. –

ответ

2

Самоподписанный SSL, кажется, проблема здесь. Речь идет не только о шифровании. Это также проблема доверия. Вы можете получить бесплатный SSL от StartSSL или CACert.

FYI, истекает заголовок, а не время истечения срока действия канала. Это информация о кеше. Ваше реальное время истечения срока действия канала можно найти в поле «истечение» тела ответа. Он представлен в формате unix time, и ваш ответ «1374660126357» на самом деле «Wed, 01 Apr 45531 03:05:57 GMT». Время истечения по умолчанию для канала изменений - 1 неделя.

+2

1) Было бы хорошо, если в документации упоминалось, что самозаверяющих сертификатов недостаточно. 2) Даже принимая во внимание конфиденциальность и безопасность, для целей создания реальной SSL-бит слишком много. 3) Возможность просмотра боковых журналов Google (в консоли API или в другом месте) уведомления будет большой помощью. например, _invalid certificate error_, _notification, отправленное на https://myveryowndomain.bc.com/drive/notifications_ – user454322

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