2014-09-13 16 views
6

Sto costruendo un'app WPF che sta eseguendo un riepilogo del calendario di diversi utenti nell'organizzazione. La Società utilizza Office 365, quindi ho pensato che l'API di Office 365 sarebbe stata la soluzione migliore.Accesso al calendario di altri utenti nell'API di Office 365

Sono riuscito ad accedere al mio calendario, ma non so come accedere ai calendari dei miei colleghi. È possibile? Devo anche elencare il GAL per scegliere quali utenti wolud includere nel riepilogo.

risposta

9

[UPDATE] L'assistenza per l'account di servizio è ora disponibile per le API REST. Si prega di vedere Building Daemon or Service Apps with Office 365 Mail, Calendar, and Contacts APIs (OAuth2 client credential flow) per maggiori informazioni.

Grazie per la tua domanda e interesse per le API di Office 365! Attualmente, puoi utilizzare l'API di Office 365 per accedere al calendario dell'utente autenticato ma non al calendario di un altro utente. Abilitare un account di servizio ad essere autorizzato ad accedere a posta/calendario/contatti di più utenti all'interno di un'organizzazione o dell'intera organizzazione è sulla nostra tabella di marcia e ha la priorità piuttosto alta, quindi rimanete sintonizzati.

Nel frattempo, è possibile utilizzare l'API gestita da Servizi Web di Exchange (EWS) per implementare l'applicazione. Tuttavia, con la rappresentazione delle app EWS, l'account di servizio ha accesso in lettura/scrittura all'intera casella postale dell'utente e non solo al calendario. Una volta aggiunto il supporto per gli account di servizio nell'API di Office 365, sarai in grado di utilizzare OAuth e limitare l'accesso dell'app solo per leggere il calendario di un utente.

Ecco alcuni link che spiegano come funziona la rappresentazione delle app EWS.

Per favore fatemi sapere se avete domande o bisogno di ulteriori informazioni.

Grazie,

Venkat

+2

Eventuali aggiornamenti con l'accesso dell'API al calendario di un altro utente? – Serge

+0

@venkat eventuali aggiornamenti su questo? siamo in grado di accedere al calendario di altri utenti? –

+0

Non ancora, mi dispiace. Questo è ancora in lavorazione. Grazie. –

3

Sì, è possibile con l'autenticazione di base (ma non con OAuth2). Inoltre, il tuo account deve avere accesso in lettura ai calendari dei tuoi colleghi (può essere eseguito da un amministratore impostando le autorizzazioni della cartella della cassetta postale).

var authClearText = string.Format("{0}:{1}", yourEmail, yourPassword); 
var authEncoded = Convert.ToBase64String(Encoding.Default.GetBytes(authClearText)); 
var authHeaderValue = "Basic " + authEncoded; 

using (var httpClient = new HttpClient()) 
{ 
    httpClient.DefaultRequestHeaders.Add("Authorization", authHeaderValue); 
    ... 
} 
Problemi correlati