铬扩展中的 Twilio - 用户拒绝访问麦克风
Twilio in chrome extension - user denied access to microphone
我是Chrome扩展的新手。是否有可能通过手动 (javascript( 或使用清单配置提供对 chrome 扩展程序的麦克风访问权限。
我通过下载 twilio 成功地包含了 twilio.js并将协议更改为"https"以便在后台使用.html chrome 扩展名。
清单.js字段如下:
"permissions":["http://*/*", "https://*/*", "*://mail.google.com/*", "storage", "unlimitedStorage", "contextMenus", "cookies", "tabs", "notifications", "activeTab", "background","identity", "*://*.twilio.com/*"],
"content_security_policy": "script-src 'self' 'unsafe-eval' https://apis.google.com https://*.twilio.com; object-src 'self' https://*.twilio.com",
现在,当分机使用twilio拨打/接听电话并接受连接时。它从Twilio.Device.error方法抛出错误,如下所示
error.message is **User denied access to microphone**.
任何人都可以帮助我解决此错误吗?
我找到了一种在 chrome 扩展程序的背景页面中启用 twilio 的解决方法。
第一次,当我们将扩展程序安装到 chrome 应用程序中时。只需从扩展目录中创建一个带有虚拟 html 的新选项卡,如下面的代码片段所示,然后进行测试调用。
chrome.tabs.create({'url': chrome.extension.getURL('/telephony.html')}, function(tab) {
console.debug("Telephony Tab details are - ",tab);
});
它将提示用户访问麦克风并提供允许权限。呼叫连接后,将消息发送到后台页面并在后台设置 Twilio。下次您可以在后台接听电话时形成。
我是Twilio的开发者布道者。
我还没有使用Twilio客户端在Chrome扩展程序中尝试过任何东西,但我看了一下权限。在我看来,您需要包含audioCapture
权限才能通过getUserMedia
访问麦克风,这是客户端使用的。
我在这里查找可用权限:https://developer.chrome.com/apps/declare_permissions
我希望这有所帮助,如果我可以进一步提供帮助,请告诉我。
更新:
如前所述,这是Chrome打包应用程序的页面,而不是扩展程序。
此问题的最高答案建议在扩展的选项页面中调用getUserMedia
。否则,打开的Chrome上会出现一个错误,可以将这些权限添加到扩展程序。
我成功地以棘手的方式将麦克风与Chrome扩展程序一起使用,并带有一些错误消息,但Twilio功能仍然有效(标注和接听电话(。
这是我的经验,由于Twilio js库将加载不允许的chrome扩展名的外部库,所以我手动下载了这两个库
- 特威利奥.js来自 https://static.twilio.com/libs/twiliojs/1.2/twilio.js
- 第二个库来自https://static.twilio.com/libs/twiliojs/refs/3716fe1/twilio.js(我把它命名为twilio-lib.js(
将这两个JS文件保存到您的项目中,并通过以下方式将其加载到清单中内容脚本:
"content_scripts": [
{
****
"js": [...,"lib/twilio.js","lib/twilio-lib.js",...],
***
}
],
然后编辑第一个 twilio.js;注释打算加载 lib 的 line62、line 66(第二个,twilio-lib.js,我们已经包含了它,所以它没用(
然后你可以在chrome扩展中使用Twilio.Device对象,它将显示许多未找到.mp3消息,但不会阻止您使用 Twilio 客户端函数
我也尝试在后台页面加载js,但即使我获得许可,麦克风也总是关闭。
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- 用户允许访问后如何使用浏览器GeoLocation
- Xmlhttprequest返回仅在IE上拒绝访问
- Soundcloud API错误NS_Error_DOM_BAD_URI:拒绝访问受限URI(JavaScript)
- 谷歌地图赢得'当用户拒绝共享位置时,t初始化
- 如何同步检测用户是否拒绝访问地理位置数据
- 当某些用户已经访问某个页面时,阻止访问或禁用该页面中的某些功能
- 拒绝访问IE11中的localStorage,但仅在桌面模式下(不在城域模式下)
- 使用IE'拒绝访问;s XDomainRequest打开(“get”,url)
- 使用AJAX读取一个简单的文本文件.打开函数时出现拒绝访问错误
- 用于JavaScript的ArcGIS API,NS_ERROR_DOM_BAD_URI:拒绝访问受限URI
- tern_for_vim (ternjs) 返回 403 拒绝访问
- 使用 IE 的 ajax 调用中拒绝访问
- 在 ajax 调用中拒绝访问仅存在于 IE9 上
- 铬扩展中的 Twilio - 用户拒绝访问麦克风
- 如何防止用户直接访问我的 html 页面
- i18n:NS_ERROR_DOM_BAD_URI:拒绝访问受限 URI
- 仅 1 个用户拒绝访问本地内联网页面
- 当用户允许或拒绝访问“物理位置”时如何调用函数
- 在Meteor客户端更新用户账户时被拒绝访问[403]