2012-11-11 11 views
6

사용자가 Gmail에서 이메일을 읽을 때 URL에서 threadId를 스크랩하는 브라우저 확장 프로그램이 있으며이 스레드 ID를 사용하여 정황 데이터를 가져옵니다. Google Apps Script APIGoogle Apps Script 웹 응용 프로그램 요청을 실행할 때 사용할 Google 계정 지정

그러나 확장 프로그램에서는이 메시지를 읽는 Google 계정이 몇 개 있는지 알 수 없습니다. 내 Apps Script webapp 및 threadId에 대한 URL 만 알고 있습니다. 그래서 fetch를 실행하면 webapp은 해석 요청을 기본 사용자 세션에서 오는 것으로 해석합니다. 어떤 경우에는 이것이 잘못된 것이므로 GmailApp.getThreadById(e.parameter.threadId)을 실행할 때 null이됩니다.

내가 궁금한 점은 웹 응용 프로그램을 쿼리 할 때 사용할 Google 계정을 지정할 수 있는지 여부입니다. 다른 모든 계정을 로그 오프하고 현재 계정을 기본값으로 설정하도록 사용자에게 요청하는 것 외에 다른 가능성이 있습니까?

답변

0

불행히도 Google Apps Script는 다중 로그인을 제대로 지원하지 않습니다. 자세한 내용은 this page을 참조하십시오.

0

Google Apps 스크립트에 대한 요청에 authuser 매개 변수를 추가 할 수 있습니다.

authuser 매개 변수의 값은 현재 브라우저 세션에 기록 된 모든 Google 계정의 인덱스입니다.

보내야하는 색인 ​​값을 추출하려면 authuser param이있는 profiles.google.com 링크의 현재 페이지를 긁어내어 값을 추출하고 요청과 함께 보낼 수 있습니다.

링크는 다음과 같습니다

https://mail.google.com/mail/u/1/#inbox 

이 URL은 위의 AUTHUSER 값 1이 포함

https://profiles.google.com/ ... authuser=0 

특히 Gmail에, URL이 또한 예를 들어 현재 AUTHUSER 인덱스를 포함 끝 부분 (조각과 after/u/앞에)

나는 이것이 매우 복잡하고 해킹처럼 보입니다. 그러나 Google이 앱 스크립트 요청의 컨텍스트를 지정하는 더 좋은 방법을 제공 할 때까지는 이것이 확실한 해결 방법이라고 생각합니다.

도움이 되셨기를 바랍니다.

감사합니다.

관련 문제