Un'opzione consiste nell'e-mail all'utente un collegamento alla schermata di consenso di OAuth 2.0. Gli utenti dovrebbero comunque aprire il collegamento in un browser, accedere al proprio account Google (se non è già stato effettuato l'accesso) e fare clic sul pulsante "Autorizza" per consentire alla propria applicazione di accedere ai propri eventi del calendario di Google.
Innanzitutto, è necessario registrare l'applicazione come App Web nella Console per gli sviluppatori di Google (come per qualsiasi altra applicazione) e ottenere uno client_id
. Assicurati di inserire il nome della tua domanda e un link al tuo sito web nella sezione "Schermata consenso OAuth", perché questi valori verranno mostrati ai tuoi utenti quando fanno clic sul link di autorizzazione.
Poi, attenersi alla seguente procedura:
Invia all'utente un link di autorizzazione in un messaggio di posta elettronica HTML. Il collegamento dovrebbe essere costruita secondo le linee guida di "Redirecting to Google's OAuth 2.0 server", e prestare attenzione ai seguenti aspetti:
- Assicurarsi che il parametro
redirect_uri
nei punti di collegamento autorizzazione per l'applicazione.
- Poiché si conosce già l'indirizzo e-mail dell'utente, considerare di includere il parametro
login_hint=<email address>
per ignorare la schermata di selezione dell'account.
- Importante: fornire un valore nel parametro
state
in modo che sia possibile collegare questa richiesta di autorizzazione con l'utente.
- Il collegamento deve essere collocato in un tag
<a>
da qualche parte nel corpo della e-mail: <a href="{auth_url}">Allow access to my Google calendar</a>
Quando l'utente fa clic su questo link, il browser si aprirà e mostrerà la schermata standard di autorizzazione di Google:
Una volta che l'utente ha effettuato una scelta, il proprio browser verrà reindirizzato allo redirect_uri
che è stato fornito.
Assicurarsi che il redirect_uri
funzioni anche se l'utente non ha effettuato l'accesso all'applicazione. Cattura i valori e authorization_code
che Google aggiunge allo redirect_uri
e quindi restituisci una pagina di conferma (ad esempio "Grazie per averci dato accesso al tuo calendario Google" sarebbe una buona idea).
Utilizzando i valori state
e authorization_code
, seguire il resto del flusso standard OAuth 2.0 e recuperare un refresh_token
, che vi permetterà di accedere al calendario Google dell'utente dall'applicazione.
Tenete a mente che il proprietario del calendario (l'utente che sta facendo clic sul link contenuto nella e-mail e garantendo il proprio consenso applicazione per accedere al calendario) potrebbe anche non essere un utente della vostra applicazione. Questo è il motivo per cui è importante fornire quante più informazioni possibili nella schermata di consenso e nella pagina di conferma.
Dal momento che la tua pagina di conferma verrà caricata anche se l'utente non concede il suo consenso applicazione, si potrebbe cogliere l'occasione per dare all'utente una descrizione completa del motivo per cui si sta chiedendo l'accesso al proprio calendario e fornire un collegamento che li riporterà alla schermata di consenso. Questo dovrebbe aumentare il tuo tasso di successo.
crea un evento nel tuo calendario Google, aggiungi l'indirizzo email dell'utente come partecipante all'evento con notifica. l'utente quindi decide se desidera aggiungerlo al proprio calendario. – DaImTo
Non va bene. Voglio vedere il calendario dell'utente in modo da non commettere l'errore di creare un evento che è in conflitto con il calendario dell'utente. Pensa al sistema di impostazione degli appuntamenti. – StackOverflowNewbie
Se si desidera visualizzare il proprio calendario, è necessario fornire il permesso per farlo e sarà necessario utilizzare Oauth2 e autenticarli. – DaImTo