Erros de atualização do OAuth2 da API do Google Drive Realtime

Nos últimos dois dias, tenho visto alguns problemas cada vez mais problemáticos com um aplicativo em tempo real de longa duração. Eu caminhei pelas etapas abaixo e o snippet de código na parte inferior contém informações adicionais de depuração do aplicativo.

Quando a página é aberta pela primeira vez, ela solicita com êxito um token OAuth e carrega o documento em tempo real [A]. Após 50 minutos (10 minutos antes de o token expirar), ele solicita novamente um novo token OAuth com êxito [B]. Depois que o primeiro token expirar, a conexão atualmente aberta recebe um erro 401 não autorizado e exige um novo token oauth [C]. Isso por si só parece um problema, já que deveria ter se atualizado para usar o novo token válido de [B].

No entanto, o aplicativo ainda deve ser resiliente a um erro como esse ocorrendo. Assim, ele é tratado fechando e reabrindo o documento [D] e obtendo outro novo token OAuth. Infelizmente, neste momento, a API em tempo real fica em um loop infinito recebendo erros para o access_token [E].

Todos os tokens OAuth são solicitados usando gapi.auth.authorize com os mesmos escopos e nenhuma chamada para setToken. Eu tentei anteriormente usar setToken, mas isso tinha exatamente os mesmos problemas.

Perguntas reais Qual é a maneira correta de lidar com a atualização do token OAuth para a API em tempo real? Como posso evitar falhas repetidas internas nas APIs da unidade ao fechar e reabrir um documento?

[A]
_aa: "1"
access_token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXz9AYBkyympssqI"
client_id: "XXXXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1373610287"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1373606687"
response_type: "token"
scope: Array[2]
state: ""
token_type: "Bearer"

[B]
_aa: "1"
access_token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXV2kzG4EMUppi"
client_id: "XXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1373613288"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1373609688"
response_type: "token"
scope: Array[2]
state: ""
token_type: "Bearer"

[C]
GET https://drive.google.com/otservice/bind?id=1B-XXXXXXXXXXXXXXXXXXXXX_nRizfqmT…&RID=rpc&SID=XXXXXXXXXXXXXXXXX&CI=0&AID=221&TYPE=xmlhttp&zx=ns6e5dr7rf4&t=1 401 (Unauthorized)

Drive Realtime API Error: token_refresh_required: The OAuth token must be refreshed. 

[D]
[Close Realtime Document]
[Open Realtime Document]

_aa: "1"
access_token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMHzJXm2dF-"
client_id: "XXXXXXXXXXXXXX.apps.googleusercontent.com"
cookie_policy: undefined
expires_at: "1373613918"
expires_in: "3600"
g_user_cookie_policy: undefined
issued_at: "1373610318"
response_type: "token"
scope: Array[2]
state: ""
token_type: "Bearer"

[E]
[x100] Uncaught TypeError: Cannot read property 'o' of null 

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion