2012-01-10 14 views
5

Sto cercando di ottenere un elenco di tutti gli utenti di Google Apps di un dominio su un sito Web PHP pubblico (senza che i visitatori del sito debbano effettuare il login o effettuare alcuna operazione). Ho una comprensione di base di ciò che deve accadere ma non riesco a metterlo insieme. Non può essere così difficile come sembra a me ... potrebbe?Elenca tutti i profili di Google Apps sul sito PHP

Autenticazione e autorizzazione: Sono abbastanza sicuro che ha bisogno di usare OAuth 2.0 ... ma sono sicuro se è necessario 2 zampe o 3 zampe. Ho un'altra sezione del sito che funziona con ClientLogin ma che non inserirà i profili di Google Apps, solo il nome e il cognome dell'utente (ho bisogno degli altri campi del profilo). Ho impostato l'accesso API all'interno dell'account e ho impostato tutto ciò che ritengo (credo).

Ho trovato questa pagina, che mostra come costruire una richiesta di URL per ottenere tutti i profili (in ogni lingua tranne PHP ovviamente) ma non capisco come implementarlo. http://code.google.com/googleapps/domain/profiles/developers_guide.html

Ho anche provato questo esempio ma mi dà solo un 401 dopo aver inserito le credenziali. http://gdatatips.blogspot.com/2008/11/2-legged-oauth-in-php.html

Non so quali framework o inclusi sono necessari per eseguire questo neanche. Ho provato zend, OAuth.php e un sacco di altri bootstrap ... ma continuo a perdersi su ciò che ognuno sta facendo.

Se qualcuno mi potrebbe aiutare delineando:

  1. Quali file/quadro ho bisogno di caricare e includono come bootstrap
  2. Quali variabili all'interno di quei file che ho bisogno di aggiornare con le credenziali di Google
  3. Come posso integrare i Google Profiles "recuperare tutti i profili" richiesta con PHP

Un ELI5 (spiegare come se fossi 5) panoramica sarebbe molto molto apprezzato ... Mi dispiace per la mia apparente incompetenza, ma ho letto articoli per quasi una settimana e non ho ottenuto da nessuna parte.

Grazie in anticipo per qualsiasi aiuto fornito.

+0

Nel processo OAuth è necessario reindirizzare gli utenti a una pagina di google per consentire loro di concedere le autorizzazioni appropriate. Ma non vuoi richiedere ai visitatori di accedere in alcun modo ?! per favore spiegate – ori

+0

Corretto, vorrei che gli utenti visitassero la pagina e vedessero i dati (senza essere reindirizzati) ... l'autenticazione avrebbe luogo dietro le quinte. Se il dominio è mio, non dovrei essere in grado di visualizzare le informazioni sul mio sito senza chiedere agli utenti del sito web di accedere? – RANGER

risposta

6

Buona domanda.

sarà necessario implementare il processo di Google OAuth 2.0 come è descritto here (sperimentale?), Perché qualcuno (si) avrà bisogno di dare la vostra applicazione le autorizzazioni iniziali per accedere a Google Apps API. I passaggi sono:

  • registrare il tuo dominio con Google (non ricordo il link)
  • Redirect/inviare browser per un URL di autenticazione: https://accounts.google.com/o/oauth2/auth, con gli opportuni params richiesta (vedi il primo link).Avrete bisogno access_type=offline, la vostra portata sarebbe https://apps-apis.google.com/a/feeds/user/
  • ottenere un codice di schiena, poi cambio di un refresh_token, un access_token, e un valore che specifica quando l'access_token sarà scadenza. Memorizzarli in un database
  • Ogni volta che è necessario effettuare una chiamata API, controllare se il tuo access_token è scaduto o meno, e aggiornarlo quando necessario, che è ciò che è il refresh_token. Refresh_token è valido fino a quando non revochi l'accesso che hai dato all'app.

OAuth Playground aiuta molto. In bocca al lupo.

Problemi correlati