Google云端硬盘前端UI事件监听器

Nic*_*her 7 google-chrome-extension google-apps-script google-drive-api

我正在考虑创建一个Chrome扩展程序,可以(例如)挂钩到Google云端硬盘,在某处插入DOM元素(例如"活动窗格"),并在用户选择文件时显示一些其他信息.

据推测Google Drive使用某种事件驱动的UI模型 - 例如"当用户点击此文件的预览图像时,加载该文件的"活动"详细信息并在窗格中显示它们.但是,它看起来都不是这个记录在任何地方(显然谷歌混淆了它的客户端Javascript).

这些事件是否有某种公共API可以用来执行回调?就像是:

googleDriveUi.on("fileSelect", function(file) {
  alert("You have selected " + file.filename);
});
Run Code Online (Sandbox Code Playgroud)

我意识到我可以通过实现自己的UI前端然后挂钩到Google Drive 后端 API 来实现相同的结果.如果可以避免的话,我真的不想这样做 - Google Drive UI已经相当不错了,所以没有必要重新发明轮子.

另一种方法是收听Web请求事件.例如,我看到在云端硬盘中点击文件时,会向http:// {google} /appsactivity/v1.1internal/activities?{etcetc}发出请求.扩展程序可能会收听对此URL发出的请求 - 但可能Google可能会随时更改特定的请求终结点,因此这将是一个非常不稳定的解决方案.

任何其他想法将不胜感激.

Pet*_*ann 5

前端 UI 事件没有公共 API。一些选项:

答:Google Apps Activity API是公开的并受支持。您可以通过在那里发出请求来正式获得更改(假设您已通过某种客户端、未记录的、不稳定的方式嗅探了 file.id)。

B.“正确的方法”是使用 Drive REST API打开文件(“打开方式”)集成接口,但这取决于用户通过 OAuth 授权/安装/连接应用程序。

C. 您无需编写整个前端 UI,只需使用Google Picker API。这将使您完全控制“用户已选择 file.id=xyz”。

选项 B 或 C 是​​您可以使用完整且正式支持的 API 获得的最接近的选项。

如果您希望 Google 添加您需要的功能,您可以查看和/或提交Drive API 的功能请求