Googleドライブに接続したり、DOMエレメントをどこかに挿入したり(「アクティビティペイン」など)できるChrome拡張機能を作成しています。ユーザーがファイルを選択します。GoogleドライブのフロントエンドのUIイベントリスナー
Googleドライブでは、イベント駆動型のUIモデルを使用している可能性があります。ユーザーがこのファイルのプレビュー画像をクリックすると、そのファイルの「アクティビティ」の詳細を読み込んでペインに表示します)しかし、これはどこにも記載されていないようです(明らかにGoogle側はクライアントサイドのJavascriptを難読化しています) 。
私はコールバックを実行するためにフックすることができ、これらのイベントのためのパブリックAPIのいくつかの種類がありますような何か:?私は実装することで、同じ結果を得ることができ実現
googleDriveUi.on("fileSelect", function(file) {
alert("You have selected " + file.filename);
});
自分のUIフロントエンドでGoogleドライブにフックするバックエンド API。 GoogleドライブのUIは既にかなり優れているため、再構築する必要はありません。
代わりに、Webリクエストイベントを聞くこともできます。たとえば、ドライブでファイルをクリックすると、{http} // {google} /appsactivity/v1.1internal/activities?{etcetc}にリクエストが送信されます。拡張機能はおそらくこのURLに対して行われたリクエストを聞くことができますが、Googleがいつでも特定のリクエストエンドポイントを変更する可能性があるため、これは非常にばかげた解決策になるでしょう。
その他のご意見をいただければ幸いです。
ドライブがまだ提供していない情報を取得するにはどのような情報が必要ですか? –
理想的には、ファイルID、ファイル名、サイズ、アクティビティリストなどすべてのメタデータを利用できます。私の暫定的なアプローチは、[data-id]属性(属性の値がファイルのID)を持つ要素のクリックイベントを聴いてから、そのIDを使用してドライブのAPI呼び出しを介してファイルを取得し、終わり。このアプローチの問題点は、(1)文書化されていないため、Googleが拡張子を破る[data-id]の使用を中止できること、(2)ファイルIDのみで動作すること、つまり他のメタデータ別のAPI呼び出しを行うことなく(これは大きな問題ではありませんが)。 –