액세스하는 사용자로 실행되는 모든 사용자가 볼 수있는 웹 애플리케이션으로 게시 된 Google Apps Script 프로젝트를 만들었습니다. 나는 그러나,웹 애플리케이션에서 액세스 한 라이브러리의 ScriptDb
function getDb() {
return ScriptDb.getMyDb();
}
function save(props) {
return getDb().save(props);
}
내가 (Gmail에 액세스하는 시간 기반 트리거를 사용하여) 사용자 접근에 따라 실행 한 웹 애플리케이션을하려는 :
이 웹 애플리케이션은 다음과 ScriptDb
에 액세스하는 방법을 가지고 도서관 프로젝트를 포함 ScriptDb
을 사용하여 웹 애플리케이션을 실행하는 사용자와 독립적으로 데이터를 저장하려고합니다.
You do not have access to library MyDBLibrary, used by your script, or it has been deleted.
내가 잘못 아무것도 건가요 : 그래서 나는 Google 애플리케이션 스크립트 문서에서 장 Centralizing a Place to Get a Database Instance가 웹 애플리케이션에 액세스 할 때 그러나 나는 다음과 같은 오류가 발생하고, 여기에 적용 생각? ScriptDb는 웹 애플리케이션에서 액세스 할 때 사용자와 독립적으로 실행되지 않습니까?
트릭을 만들었습니다. 사용하는 스크립트의 소유자 인 사람에게 액세스 권한을 부여하는 것으로 충분하다고 생각했습니다. 누구와도 공유하고있는 링크가 있습니다 ... 음 ... 프로젝트 키를 게시하지 않는 한 보안 위험이 아닌 것 같습니다. 맞습니까? – Joscha
ScriptDb 인스턴스는 프로젝트 전용입니다.모든 ScriptDb 액세스 메소드가 적절하게 범위가 지정되었는지 확인하십시오 (마지막에 '_'를 추가하여 메소드를 라이브러리에서 비공개로 만들 수 있음). 이 방법은 코드가 다른 사람이 액세스 할 수있는 경우에도 프로젝트 키를 받으면 데이터에 액세스 할 수 없으며 프로젝트에서 가져 오더라도 ScriptDb 인스턴스에 액세스 할 수 없습니다. –