2014-12-05 2 views
1

크롬 확장을 처음 사용합니다. 수동 (자바 스크립트) 또는 매니페스트 구성을 사용하여 크롬 확장에 대한 마이크 액세스 권한을 제공 할 수 있습니까?크롬 확장의 Twilio - 사용자가 마이크에 대한 액세스를 거부했습니다.

나는 twilio.js를 다운로드하여 성공적으로 twilio을 포함을 "HTTPS를"크롬 확장 background.html에서 사용하는 프로토콜을 변경했습니다.

"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을 사용하여 전화를 받고 연결을 받아 들인다 : 필드는

Manifest.js은 다음과 같습니다. 다음과 같이 Twilio.Device.error 메서드에서 오류가 발생합니다.

error.message is **User denied access to microphone**. 

아무도이 오류를 해결하는 데 도움을 줄 수 있습니까?

답변

1

저는 Twilio의 개발자 이반입니다.

나는 아직 Twilio 클라이언트와 크롬의 확장에 아무것도 시도하지 않은,하지만 난 권한을 살펴했다. 클라이언트가 사용하는 getUserMedia을 통해 마이크에 액세스하려면 audioCapture 권한을 포함해야하는 것처럼 보입니다.

내가 여기에 사용할 수있는 권한을보고 있었다 : https://developer.chrome.com/apps/declare_permissions

나는 희망이 도움이, 내가 더 이상 도울 수 있는지 알려주세요.

UPDATE :

설명하고있는 바와 같이

, 즉 크롬 패키지 앱이 아닌 확장을위한 페이지입니다.

The top answer to this question은 확장 프로그램의 옵션 페이지에서 getUserMedia을 호출 할 것을 제안합니다. 그렇지 않은 경우 bug on Chrome open to add these permissions to extensions이 있습니다.

+0

이 권한은 확장 프로그램에 존재하지 않습니다. 필요하지 않거나 확장 프로그램에 마이크 액세스가 허용되지 않습니다. – Xan

+0

아, 내 실수 야. 내 대답을 업데이트 할게! – philnash

+0

내 대답이 업데이트되었습니다. 지금 당장 권한으로는 불가능합니다. 다른 답변에서 제안 된 해킹이 있습니다. – philnash

2

나는 크롬 확장의 배경 페이지에서 twilio을 가능하게 할 수있는 해결 방법 방법을 발견했다. 우리가 크롬 응용 프로그램에 확장을 설치

처음. 다음 코드 스 니펫과 같이 확장 디렉토리에서 더미 HTML로 새 탭을 만들고 테스트 호출을 만드십시오.

chrome.tabs.create({'url': chrome.extension.getURL('/telephony.html')}, function(tab) { 
     console.debug("Telephony Tab details are - ",tab); 
    }); 

사용자에게 마이크 액세스를 허용하고 허용 권한을 제공합니다. 일단 전화가 걸리면 배경 페이지로 메시지를 보내고 백그라운드에서 Twilio를 설정하십시오. 백그라운드에서 전화를받을 수있는 다음 번에 양식을 작성하십시오.

+0

테스트 호출은 배경 js 코드 또는 telephony.html로 작성해야합니까? – prateek31

0

마침내 크롬 확장 기능이있는 마이크를 사용하고 오류 메시지가 표시되지만 Twilio 기능이 계속 작동합니다 (call & 수신). 여기

은 허용되지 확장 크롬 외부 라이브러리를로드 할 Twilio JS 라이브러리로 인해 내 경험이다, 그래서 나는 에서 https://static.twilio.com/libs/twiliojs/1.2/twilio.js
  • 초 lib 디렉토리에서 수동으로

    1. Twilio.js을 두 개의 라이브러리를 다운로드 https://static.twilio.com/libs/twiliojs/refs/3716fe1/twilio.js (필자는 twilio-lib로 이름을 지정했습니다.JS)

    이 두 JS 프로젝트에 파일 및 contentscript에 의해 매니페스트에로드 저장 :

    "content_scripts": [ 
        { 
         **** 
         "js": [...,"lib/twilio.js","lib/twilio-lib.js",...], 
         *** 
        } 
        ], 
    

    다음 첫 번째 twilio.js을 편집; ,

    다음 크롬 확장에 Twilio.Device 개체를 사용할 수 있습니다 에 주석 line62는 LIB로드하려는 line66 (그것은 쓸모없는, 그래서 두 번째, twilio-lib.js, 우리는 이미 그것을 포함) 많은 .mp3 찾을 수없는 메시지가 표시되지만 Twilio 클라이언트 기능을 사용하지 못하도록 차단하지 않습니다.

    또한 배경 페이지에서 js를로드하려고 시도하지만 마이크는 항상 허가를받습니다.

  • +0

    그냥 twiliorefs js를로드합니다. twilio.js가 필요 없습니다. mp3 URL을 변경하면 소리가납니다. 오류 코드를 삭제하십시오. Chrome 확장 프로그램의 창에서 사용자가 오디오 권한을 부여 할 수 있도록 URL 표시 줄이 있어야합니다. 확장 프로그램을 팝업으로 열면 정상적으로 열리지 않습니다. 사용자는 미시적 권한을 부여 할 수 없습니다. – Gino

    관련 문제