2015-04-11 9 views
13

Sto usando l'API VSO REST per ottenere tutti i membri in una squadra, da lì sto ricevendo il ImageUrl del membro.API REST VSO - L'acquisizione dell'immagine del profilo utente funziona solo con l'autenticazione di base?

Se ho appena legano un controllo Image a ImageUrl è vuoto perchè VSO richiede che io sia registrato per accedere una foto del profilo ... così ho creato un HttpClient e impostare il mio Authorization-OAuth e lo diede mio token di accesso .

Questo restituisce un 403: Risposta vietata ... Ma se utilizzo l'autenticazione di base, allora tutto funziona correttamente?

L'autenticazione di base è l'unico metodo per ottenere immagini di profilo da VSO tramite l'API REST?

+0

ho mai lavorato con questa API, ma il [docs] (https://www.visualstudio.com/en-us/integrate/get-started/auth/overview) sembra implicare che puoi fare entrambi. "Abilita credenziali alternative" sotto il tuo profilo appare per abilitare l'autenticazione di base, ma non sono sicuro che disabiliti oAuth. Dubitare ma potrebbe valere la pena guardare. Hai mai lavorato per altre azioni? –

+0

Sì. oAuth funziona molto bene per altre azioni. Non posso avere un'applicazione che richiede agli utenti due volte le loro credenziali. :(Questo è folle – BeginnerCoder

+0

Nel caso in cui altre persone stiano usando questa API ... il recupero di immagini da una descrizione dell'elemento di lavoro non funziona – BeginnerCoder

risposta

8

Sia Basic Auth che OAuth 2.0 sono supportati dall'API REST.

scegliere attraverso details on using OAuth 2.0 con l'API

UPDATE: saltata una parte importante della questione. Scusate. :-(

per ottenere l'immagine di un utente il punto finale è

https://*.visualstudio.com/DefaultCollection/_api/_common/identityImage?id=<Guid> 

Purtroppo _api/_common/identityImage non è un percorso consentito per un app che si autentica con un token di accesso OAuth in questo momento, quindi questo è un comportamento previsto. la squadra è a conoscenza di esso, anche se non so dove è nella loro lista di priorità.

Aggiungi un suggerimento a http://visualstudio.uservoice.com per questo in modo che effettua la richiesta più visibile per loro.

+0

Sì, so che funziona con oAuth ma quando provo a usare oAuth per ottenere l'immagine di visualizzazione, – BeginnerCoder

+0

Grazie per il chiarimento! Pensi che sarebbe consigliabile acquisire nuovamente le credenziali dell'utente? Perché sto già facendo in modo che l'utente inserisca le proprie credenziali per l'accesso oAuth .. e ora lo faccia due volte? ? – BeginnerCoder

+0

Probabilmente non è la migliore esperienza utente :-) Penso che tu abbia due scelte. Uno; non mostrare le immagini delle persone. Quindi non sarà necessario effettuare la chiamata non OAuth. O due; rilascia OAuth e utilizza l'autenticazione di base per tutte le chiamate API. Dato che tu (probabilmente) non vuoi memorizzare username/password per le persone, sarebbe necessario che reinserissero i loro dettagli ogni volta che l'app è stata utilizzata. Non conoscendo l'importanza delle immagini del profilo, opterei per l'opzione 1 per ora. –