問題タブ [google-drive-realtime-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS 用 Google ドライブ リアルタイム API
Google ドライブと新しいリアルタイム API を使用して、iOS アプリにリアルタイム コラボレーションを実装したいと考えています。Objective-C で Web ビューをセットアップし、Web ビューとネイティブ アプリ間の双方向通信をセットアップして、JavaScript ライブラリを使用できることはわかっていますが、大量の場合、これは非効率的ではないかと心配しています。データトラフィックの。ネイティブ ソリューションが登場する可能性があることを期待していました。Objective-C の Google API クライアント ライブラリが更新され、Google Drive Realtime API が含まれるようになるかどうかについてのニュースはありますか?
metadata - ドライブ API でエラー 500 が発生する
Google が提供するフォームを使用すると失敗し、この応答が返されます
誰かが私が間違っていることを明確にすることができますか?
c# - Google ドライブ API の最上位フォルダをすべて一覧表示する
IAM Google Drive API を利用したアプリを開発中。ドライブ API を使用して Google ドライブの最上位フォルダを取得できますか? その範囲は何ですか?
javascript - https://drive.google.com/otservice/bind を処理していますか? ...TYPE=大量のデータを送信するときに終了する
JavaScript アプリで Google Drive の Realtime API を使用して、一連のマウス ポイントで共同作業を行っています。タイマーで、マウス ポイントの完全なリストをCollaborativeMapの値として設定しています。マウスが移動すると、ポイントのリストが大きくなり、set 呼び出しによってさらに多くのデータがマップにプッシュされます。
1 分間に 25 回の呼び出しを行った後、呼び出しごとに大量のデータ (約 325000 文字) を割り当てています。
プロセスのこの時点で、コンソールに次のように表示されます。
これを確認した後、Realtime API は機能しなくなりました。これは、API がスローしている例外や、エラー ハンドラーに返されたエラーではないようです。
これが何を意味するか、またはどのように処理するかを説明するドキュメントを見つけることができませんでした。
Mayra が指摘しているように、load 呼び出しにエラー関数を渡すことができます。Google がクイックスタート ドキュメントrtclient.RealtimeLoader.prototype.load
の一部として提供するrealtime-client-utils.js
サンプル コードで行われているように、私は既にそうしています。私のエラー関数は、いくつかのエラーに対して呼び出されます。ただし、この質問が関係しているエラーの場合は呼び出されません。
誰かがコンソール出力を解釈する方法と、アプリケーションが問題を検出して処理する方法を説明できますか?
PS 送信するデータ量を削減できることはわかっています。ただし、発生する可能性のあるエラー状態を処理できるソリューションを開発したいと考えています。
google-drive-api - google+ ハングアウト アプリケーションで google ドライブ リアルタイム API を使用したい
現在、ハングアウト アプリケーションを使用しており、リアルタイム API を使用してコラボレーション機能を追加したいと考えています。
リアルタイム API クイックスタート ガイド (2 つのテキスト領域と承認用のボタンを追加) に従って、関連するコードをハングアウト XML モジュールに追加しました (これは正しい名前ですか?)
ただし、Google ハングアウト インスタンス内から [承認] ボタンをクリックするたびに、ページが更新され (または何か)、GET 要求が 400 (Bad Request) 応答で返されるようです。
私が見落としているものはありますか?おそらく、私が見逃したいくつかのドキュメントですか?私が達成しようとしていることに対するより良いアプローチはありますか?
編集:クロムのjavascriptコンソールからのGETリクエストとレスポンスの詳細:
https://015isqam6kq3vfnd0h572bpk4rvnem82-a-hangout-opensocial.googleusercon …dgets/ifr?fileId=0B2FRfMTFpkH0S3RDUlhDMWNsbjQ&userId=103345858281489162915 400 (Bad Request) 015isqam6kq3vfnd0h572bpk4rvnem82-a-hangout-opensocial.googleusercontent.com…ets/ifr?fileId=0B2FRfMTFpkH0S3RDUlhDMWNsbjQ&userId=103345858281489162915: 1
ページ (ハングアウト コンテンツがあるべき場所) には、次のように表示されます。
「url パラメーターが見つからないか、形式が正しくありません」
javascript - Realtime API を使用して既存の大規模データ モデルを読み込むにはどうすればよいですか?
大量のデータを含むリアルタイム データ モデルがあります。API 呼び出しを使用してロードしようとすると、onLoaded 関数が呼び出されません。同様に、基になる API 呼び出しの 1 つ ( )がサーバーからhttps://drive.google.com/otservice/gs?id=...&access_token=...
を受け取っても、エラー処理関数が呼び出されません。409 response
小さいデータ モデルを読み込もうとすると、問題なく動作します。Realtime API クイックスタート ページで提供されている例からコードを開始したので、API を正しく使用していると確信しています。
Google ドライブには、返されるデータの量を減らすためにパラメーターを使用して部分的な応答を要求するという概念があります。fields
リアルタイム API の同様の機能は見当たりません。それは存在しますか?
リアルタイム データ モデルを汎用ファイルとしてダウンロードして、リアルタイム API が完全に読み込まれるまでアプリケーションにデータを事前入力する方法はありますか?
javascript - Uncaught java.lang.IllegalStateException の処理方法: 初期リビジョンは既に設定されていますか?
Realtime API ベースのアプリの使用率が高いと、新しいユーザーはデータ モデルを読み込むのに苦労します。このシナリオでは、コンソールに次のエラーが表示されます。
スタック トレースは、Realtime API によって挿入されたコードを表します。
既存のユーザーが一定期間データとのやり取りを停止すると、新しいユーザーは期待どおりにデータ モデルを読み込むことができます。
Google がクイックスタート ドキュメントrtclient.RealtimeLoader.prototype.load
の一部として提供しているrealtime-client-utils.js
サンプル コードで行われているように、load 呼び出しにエラー関数を渡しました。私のエラー関数は、いくつかのエラーに対して呼び出されます。ただし、この質問が関係しているエラーの場合は呼び出されません。
ユーザーがすべての使用条件下でアプリを使用できるようにするには、データ モデルの読み込みコードはどのようにすればよいですか?
Mayra は、このエラーは 2 人のユーザーが同時にモデルを初期化しようとした場合にのみ発生するべきだと提案しました。ただし、これは私が見た動作と一致しません。答えを得るのを助けるために、問題を再現できるjsFiddle の例を作成しました。この例は、クイックスタート ページで提供されているコードに基づいており、わずかな変更のみが加えられています。
問題を再現するには、jsFiddle の例を 3 つのブラウザ タブで開き、...
- まだ承認していない場合は承認します。
- 最初のタブからファイル ID をコピーします。
- 2 番目のタブで
Switch File
ボタンを押し、ファイル ID をプロンプト ボックスに貼り付けます。 - テキスト ボックス内のテキストを変更し、変更がタブ間で反映されていることを確認します...そうであれば、Realtime API は期待どおりに動作しています。
Create Data
両方のタブのボタンを押して、アプリに負荷をかけます。(一部の詳細はコンソールに記録されます)- 3 番目のタブで問題を確認するには、コンソールを開いてログ メッセージを表示します。
- また、3 番目のタブで、ファイル ID を他の 2 つのタブで使用されているものと同じ ID に切り替えます。3 番目のタブが指定されたファイル ID で共同作業できず、私が観察しているエラーが表示されることを確認します。
興味深い詳細は、初期化関数がまったく呼び出されず、このシナリオでデータ モデルを初期化しようとしているユーザーが 1 人だけであることです。