如何从扩展程序获取Chrome应用的ID

CJ阿尔法

首先一点背景

我的任务是创建一个“程序”,该程序将在一天中的指定时间获取网页的屏幕截图,并将图像保存到用户可访问的文件夹中。我最初的思路是创建一个扩展来完成这项工作,但是我很快意识到扩展无法访问文件系统,因此我转向了可以使用fileSystem API的chrome应用程序。但是,chrome应用程序无法访问获取当前页面屏幕截图所需的功能,因此我最终创建了两者:扩展程序获取屏幕截图并将其一滴发送到应用程序,然后将其保存到文件系统。这个过程有点令人费解,但就像一个魅力。

现在,应用程序/扩展名通信通过chrome的Message Passing API进行为了进行通讯,我需要事先知道扩展程序或应用程序的ID。到目前为止,我已经对ID进行了硬编码,但是鉴于这些ID在每次安装扩展程序或应用程序时都会改变,因此我需要一种更好的方法。

现在的问题

因此,问题是:从chrome扩展程序中获取chrome应用程序ID的推荐方法是什么(反之亦然)?现在的计划是使用chrome.management API并执行以下操作:

在扩展中

var APP_NAME = "Name of My App";
var _appId;
...
function initializeAppId() {
  // must declare the "management" permission in the manifest
  chrome.management.getAll(function(result) {
    for (var i=0; i<result.length; i++) {
      if (result[i].name == APP_NAME) {
        _appId = result[i].id;
      }
    }
  });
}

这是解决方法吗?我仍然需要对应用程序的名称进行硬编码,但这并不像对ID进行硬编码那样可悲。另外,打包的应用程序无权访问管理api,因此,如果我走了这条路线,则只能从扩展名中进行操作。一旦获得应用程序ID,我就可以向应用程序发送一条消息,并提供可以从扩展代码中轻松获得的扩展ID。

听上去怎么样?有什么建议?

谢谢

可汗

从某种意义上说,您的方法是正确的。

但是不是特别适合该任务chrome.management大锤子

您说过ID发生了变化。仅在解压缩版本中会发生这种情况,因为尚未使用加密密钥对其进行签名。Chrome必须分配一些内容作为ID,并通过哈希扩展程序/ app的路径来实现

解决方案是将应用打包或签名一次以获得CRX内部合适的公钥,或者按照此处所述自己进行加密当您"key"在清单中指定属性时,Chrome会使用属性派生ID,并且它会停止更改。

之后,您可以对ID进行硬编码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过Chrome应用了解Chrome扩展程序ID

来自分类Dev

如何从Chrome扩展程序启动Chrome应用?

来自分类Dev

如何从Chrome网上应用店获取Chrome扩展程序的元信息(例如版本,名称)?

来自分类Dev

如何从Chrome网上应用店获取Chrome扩展程序的元信息(例如版本,名称)?

来自分类Dev

如何通过ID在Chrome网上应用店中找到Chrome扩展程序

来自分类Dev

如何生成解压后的扩展程序的Chrome扩展程序ID?

来自分类Dev

如何获取Google Chrome扩展程序以与类似于1password的OSX应用共享数据

来自分类Dev

如何使用OAuth在Chrome扩展程序中获取唯一的用户ID?

来自分类Dev

如何获取以前在Chrome扩展程序中查询的已知标签ID的更改过的网址?

来自分类Dev

chrome扩展程序-如何获取chrome商店URL

来自分类Dev

chrome扩展程序-如何获取chrome商店的网址

来自分类Dev

在Chrome扩展程序的帮助下从JavaScript获取窗口ID

来自分类Dev

无法在Chrome扩展程序中获取下载ID

来自分类Dev

扩展程序内的Chrome应用

来自分类Dev

解码Chrome应用或扩展程序

来自分类Dev

Chrome扩展程序-如何正确(尽快)应用深色模式CSS?

来自分类Dev

如何从Chrome扩展程序向本机应用发送消息?

来自分类Dev

如何获取Heroku应用程序ID?

来自分类Dev

在没有应用程序/扩展名的情况下,如何在Chrome桌面中获取标签计数?

来自分类Dev

如何在Chrome扩展程序开发中获取选定的文本?

来自分类Dev

如何在Chrome扩展程序中获取发布数据

来自分类Dev

如何从Chrome扩展程序中获取用户的位置?

来自分类Dev

如何从Chrome扩展程序获取窗口句柄(int)?

来自分类Dev

如何从Chrome扩展程序中打开的窗口获取背景页面?

来自分类Dev

Chrome扩展程序:¿如何从课程中获取按钮的href?

来自分类Dev

Chrome 扩展程序:如何获取新创建的标签 URL

来自分类Dev

如何使用 Chrome 扩展程序获取 Laravel 护照令牌?

来自分类Dev

如何获取Windows中扩展的默认应用程序[Java]

来自分类Dev

由于不同的扩展程序ID,Chrome打包的应用程序oauth重定向问题

Related 相关文章

  1. 1

    如何通过Chrome应用了解Chrome扩展程序ID

  2. 2

    如何从Chrome扩展程序启动Chrome应用?

  3. 3

    如何从Chrome网上应用店获取Chrome扩展程序的元信息(例如版本,名称)?

  4. 4

    如何从Chrome网上应用店获取Chrome扩展程序的元信息(例如版本,名称)?

  5. 5

    如何通过ID在Chrome网上应用店中找到Chrome扩展程序

  6. 6

    如何生成解压后的扩展程序的Chrome扩展程序ID?

  7. 7

    如何获取Google Chrome扩展程序以与类似于1password的OSX应用共享数据

  8. 8

    如何使用OAuth在Chrome扩展程序中获取唯一的用户ID?

  9. 9

    如何获取以前在Chrome扩展程序中查询的已知标签ID的更改过的网址?

  10. 10

    chrome扩展程序-如何获取chrome商店URL

  11. 11

    chrome扩展程序-如何获取chrome商店的网址

  12. 12

    在Chrome扩展程序的帮助下从JavaScript获取窗口ID

  13. 13

    无法在Chrome扩展程序中获取下载ID

  14. 14

    扩展程序内的Chrome应用

  15. 15

    解码Chrome应用或扩展程序

  16. 16

    Chrome扩展程序-如何正确(尽快)应用深色模式CSS?

  17. 17

    如何从Chrome扩展程序向本机应用发送消息?

  18. 18

    如何获取Heroku应用程序ID?

  19. 19

    在没有应用程序/扩展名的情况下,如何在Chrome桌面中获取标签计数?

  20. 20

    如何在Chrome扩展程序开发中获取选定的文本?

  21. 21

    如何在Chrome扩展程序中获取发布数据

  22. 22

    如何从Chrome扩展程序中获取用户的位置?

  23. 23

    如何从Chrome扩展程序获取窗口句柄(int)?

  24. 24

    如何从Chrome扩展程序中打开的窗口获取背景页面?

  25. 25

    Chrome扩展程序:¿如何从课程中获取按钮的href?

  26. 26

    Chrome 扩展程序:如何获取新创建的标签 URL

  27. 27

    如何使用 Chrome 扩展程序获取 Laravel 护照令牌?

  28. 28

    如何获取Windows中扩展的默认应用程序[Java]

  29. 29

    由于不同的扩展程序ID,Chrome打包的应用程序oauth重定向问题

热门标签

归档