회사 용 간단한 애드온을 만들었습니다. addon은 호출되면 현재 시트를보고 주어진 용어집에서 모든 셀을 해당 값으로 바꿉니다.Google Apps Sheet addon에 외부 시트로드
등, "321_name"에 의해 "이름"을 대체 할
이렇게하려면, 내가 지방을 사용하는 예를 들어, 값 "브랜드"로 모든 셀을 찾을 것이며, "123_brand"로 교체 첫 번째 열에는 "브랜드", "이름"등이 있고 두 번째 열에는 "123_brand", "321_name"등이 있습니다.) ("용어집 시트"). 우리 회사의 모든 구성원이 해당 시트에 대한 읽기 권한을 가지고 있습니다.
나는 다음과 같은 방법으로로드 :
function onOpen() {
SpreadsheetApp.getUi().createAddonMenu()
.addItem('Parse sheet', 'parseSheet')
.addToUi();
}
function onInstall(){
onOpen();
}
var librarySpreadsheet = SpreadsheetApp.openById("ID to my Glossary Sheet");
function parseSheet(){
/* Does the sheet parsing */
}
문제이다 : 그것은 작동하지 않습니다.
설치 직후 "Parse Sheet"버튼이 정상적으로 나타나며 모든 것이 작동합니다. 그러나 사용자가 다른 시트로 이동하면 추가 기능이 작동하지 않습니다. 콘솔을 확인하면 다음 메시지가 표시됩니다.
Google Apps Script : 해당 작업을 수행 할 수있는 권한이 없습니다.
사용자가 다른 시트에서 애드온을 제거했다가 다시 설치하면 정상적으로 다시 작동하기 시작합니다.
대신 편집 권한 부여를 시도했지만 여전히 작동하지 않습니다. 이는 모든 사용자에게 적용됩니다.
애드온을 설치 한 직후를 제외하고 외부 스프레드 시트에 대한 액세스가 거부되는 이유는 무엇입니까?
var librarySpreadsheet = SpreadsheetApp.openById("ID to my Glossary Sheet");
이 함수에 선언되지 즉 글로벌 delcaration입니다 :
"권한 부여 모드"와 관련이 있다고 생각합니다. 견적 : *** 저장소에서 추가 기능을 설치하면 해당 onInstall (e) 기능이 AuthMode.FULL에서 실행됩니다. *** 추가 기능이 설치된 후에 AuthMode가 변경 될 수 있습니다. [애드온 인증 라이프 사이클에 연결] (https://developers.google.com/apps-script/add-ons/lifecycle)을 읽었습니까? –
애드온이 작동하지 않는다고 말하면, 추가 메뉴에서이 특정 addon을 볼 수 없습니까? –
@JackBrown 내가 addons 메뉴에서 addon을 볼 수 있다는 것을 의미하지만 그 기능 중 아무 것도 그냥 "Help" –