1

JavaScript アプリで Google Drive の Realtime API を使用して、一連のマウス ポイントで共同作業を行っています。タイマーで、マウス ポイントの完全なリストをCollaborativeMapの値として設定しています。マウスが移動すると、ポイントのリストが大きくなり、set 呼び出しによってさらに多くのデータがマップにプッシュされます。

1 分間に 25 回の呼び出しを行った後、呼び出しごとに大量のデータ (約 325000 文字) を割り当てています。

プロセスのこの時点で、コンソールに次のように表示されます。

Resource interpreted as Image but transferred with MIME type text/plain:
"https://drive.google.com/otservice/bind?id=...&sid=...&VER=8
 &access_token=...&lsq=...&SID=...
 &RID=513&TYPE=terminate&zx=...". api:87

Gfapi:87
fgapi:111
yhapi:145
uh.Yapi:143
Gc.handleEventapi:28
Edapi:47
Papi:44
Weapi:82
lf.Eaapi:81

これを確認した後、Realtime API は機能しなくなりました。これは、API がスローしている例外や、エラー ハンドラーに返されたエラーではないようです。

これが何を意味するか、またはどのように処理するかを説明するドキュメントを見つけることができませんでした。

Mayra が指摘しているように、load 呼び出しにエラー関数を渡すことができます。Google がクイックスタート ドキュメントrtclient.RealtimeLoader.prototype.loadの一部として提供するrealtime-client-utils.jsサンプル コードで行われているように、私は既にそうしています。私のエラー関数は、いくつかのエラーに対して呼び出されます。ただし、この質問が関係しているエラーの場合は呼び出されません。

誰かがコンソール出力を解釈する方法と、アプリケーションが問題を検出して処理する方法を説明できますか?

PS 送信するデータ量を削減できることはわかっています。ただし、発生する可能性のあるエラー状態を処理できるソリューションを開発したいと考えています。

4

1 に答える 1

1

エラーを処理するには、load 呼び出しにエラー関数を追加できます: https://developers.google.com/drive/realtime/reference/gapi.drive.realtime#gapi.drive.realtime.load

これは、リアルタイム API でエラーが発生したときに呼び出される必要があります。次に、ドキュメントをリロードするだけの適切なアクションを実行できます。

ご想像のとおり、この問題を防ぐには、1 回の変更で送信するデータの量を減らす必要があります。個々の変更を数 100k のオーダーに保つようにしてください。

于 2013-04-26T16:39:59.650 に答える