У меня возникают некоторые проблемы с правильным повторным подключением API в реальном времени после выхода ноутбука/телефона из спящего режима/ожидания. API правильно определяет, что ему необходимо обновить токен OAuth, и выдает ошибку, однако после обновления токена API реального времени не может правильно повторно подключиться к удаленной службе. Это чем-то похоже на (часть 2), однако это происходит только через пару часов после потери соединения.
Я ожидаю, что после обновления токена OAuth API реального времени заберет его и повторно синхронизируется с удаленным сервером. Вместо этого кажется, что API реального времени считает, что он находится в допустимом состоянии, и вносит изменения локально, но не выполняет повторную синхронизацию с удаленным сервером.
// Valid Auth Token
Object {state: "", access_token: "ya29.AHES6ZS38RR9kVX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", token_type: "Bearer", expires_in: "3600", client_id: "XXXXXXXXXXXXXXX.apps.googleusercontent.com"…}
_aa: "1"
access_token: "ya29.AHES6ZS38RR9kVX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
client_id: "XXXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1381916402"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1381912802"
response_type: "token"
scope: Array[3]
state: ""
token_type: "Bearer"
// Current Time
Date.now()
1381912845180 [Wed Oct 16 2013 01:40:45 GMT-0700 (Pacific Daylight Time)]
// <<Computer Sleep For Hours>>
Uncaught Error: Authentication error: No token set api:462
Drive Realtime API Error: token_refresh_required: The OAuth token must be refreshed. api:464
Doc Load Error: Rw {type: "token_refresh_required", message: "The OAuth token must be refreshed.", b: false, isFatal: false}
// <<Refresh OAuth Token>>
// Current Time
Date.now()
1381959164975 [Wed Oct 16 2013 14:32:44 GMT-0700 (Pacific Daylight Time)]
// Valid Auth Token
Object {state: "", access_token: "ya29.AHES6ZRkwocCBwxj_h7Zx2_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", token_type: "Bearer", expires_in: "3600", client_id: "XXXXXXXXXXXXXXX.apps.googleusercontent.com"…}
_aa: "1"
access_token: "ya29.AHES6ZRkwocCBwxj_h7Zx2_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
client_id: "XXXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1381962143"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1381958543"
response_type: "token"
scope: Array[3]
state: ""
token_type: "Bearer"
// Current Value
LOCAL.data.get("t")
"0.502 Beta 3:"
// Editing Value
LOCAL.data.set("t", "0.502 Beta 4:")
Mm {a: ""0.502 Beta 3:"", Ma: Object, K: function, oa: function, J: function…}
// Edit "Worked"
LOCAL.data.get("t")
"0.502 Beta 4:"
// <<Refresh Page>>
// Current Value
LOCAL.data.get("t")
"0.502 Beta 3:"
Внесение изменений в модель реального времени работает после обновления OAuth, но изменения не сохраняются. Является ли это допустимым сценарием, поддерживаемым API? Могу ли я предоставить какую-либо дополнительную информацию, которая облегчила бы выявление проблемы?