2012-11-11 10 views
6

Ho un'estensione del browser che sta raschiando la spettrodella URL dall'URL quando l'utente sta leggendo un'e-mail in Gmail e utilizza questa spunta per recuperare i dati circostanziali utilizzando l'API Script di Google Apps.Specificare quale account Google utilizzare quando si esegue una richiesta di webapp Script di Google Apps

L'estensione tuttavia non sa quale forse diversi account Google stanno leggendo questo messaggio; conosce solo l'URL della mia app Script per app e del threadId. Quindi, quando esegue il recupero, la webapp farà in modo che la richiesta di interpretazione provenga dalla sessione utente predefinita, che in alcuni casi è errata e comporterà quindi un null durante l'esecuzione di GmailApp.getThreadById(e.parameter.threadId).

Quindi quello che mi chiedo è se sia possibile specificare quale account Google utilizzare quando si esegue una query sulla webapp. Ci sono altre possibilità oltre a chiedere all'utente di disconnettere tutti gli altri account e impostare quello corrente come predefinito?

risposta

0

Sfortunatamente lo script di Google Apps non ha un buon supporto per più accessi. Vedere this page per ulteriori informazioni.

0

Puoi aggiungere un parametro authuser alle richieste che fai al tuo script di Google Apps.

I valori del parametro authuser sono indici a base zero per tutti gli account Google registrati nella sessione corrente del browser.

Ora per estrarre il valore dell'indice che è necessario inviare, è possibile raschiare la pagina corrente per i collegamenti profiles.google.com che hanno parametro authuser e estrarre il valore da essi e inviarlo con le richieste.

Il collegamento potrebbe essere simile a questo:

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

particolare per gmail, l'URL contiene anche l'indice authuser corrente, ad esempio:

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

Questo URL sopra contiene il valore authuser 1 a alla fine (prima del frammento e dopo/u /)

So che questo è molto complesso e sembra più un hack. Ma penso che sia sicuramente una soluzione, finché Google non fornisce un modo migliore per specificare il contesto per le richieste di script delle app.

Spero che questo possa essere utile.

Grazie.

Problemi correlati