2015-09-24 9 views
9

È possibile creare un'applicazione che possa inviare le nostre richieste di accesso a Google Calendar degli utenti in modo che sia possibile visualizzare gli eventi e poter aggiungere, modificare ed eliminare eventi ?Google Calendar - Autorizzazione per l'accesso

Non voglio che gli utenti accedano al mio sito Web per abilitare questo accesso. Piuttosto, voglio essere in grado di inviare questa richiesta, forse via email.

In alternativa, forse potevano accedere all'app Web e autorizzarne l'accesso in qualche modo.

+0

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

+0

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

+1

Se si desidera visualizzare il proprio calendario, è necessario fornire il permesso per farlo e sarà necessario utilizzare Oauth2 e autenticarli. – DaImTo

risposta

0

Ogni richiesta che l'applicazione invia all'API di Google Calendar deve includere un token di autorizzazione. Il token identifica anche l'applicazione in Google.

L'applicazione deve utilizzare OAuth 2.0 per autorizzare le richieste. Non sono supportati altri protocolli di autorizzazione . Se la tua applicazione utilizza l'accesso a Google+ , alcuni aspetti dell'autorizzazione vengono gestiti per te.

I dettagli del processo di autorizzazione o "flusso" per OAuth 2.0 variano in base al tipo di applicazione che si sta scrivendo.

Per ulteriori dettagli sul flusso di lavoro per ottenere l'accesso, fare clic su here. Una volta che l'app ha accesso, sarà in grado di visualizzare e modificare gli eventi del calendario di un utente, a seconda delle autorizzazioni approvate.

4

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:

  1. 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>
  2. Quando l'utente fa clic su questo link, il browser si aprirà e mostrerà la schermata standard di autorizzazione di Google:

    Google OAuth 2.0 consent screen (example) Una volta che l'utente ha effettuato una scelta, il proprio browser verrà reindirizzato allo redirect_uri che è stato fornito.

  3. 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).

  4. 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.

Problemi correlati