2015-04-11 18 views
13

Ich verwende die VSO REST API, um alle Mitglieder in einem Team zu bekommen, von dort bekomme ich die ImageUrl des Mitglieds.VSO-REST-API - Das Profil des Benutzerprofils funktioniert nur mit der Standardauthentifizierung?

Wenn ich nur ein Image-Steuerelement binden ImageUrl es ist leer, da VSO erfordert, dass ich eingeloggt sein, ein Profilbild zu bekommen ... so habe ich ein HttpClient und stelle meinen Authorization-OAuth und gab meinen Zugriffstoken .

Dies gibt nur eine 403 zurück: Verbotene Antwort ... Aber wenn ich grundlegende Authentifizierung verwenden, dann funktioniert alles gut?

Ist die Standardauthentifizierung die einzige Methode, um Profilbilder von VSO über die REST-API zu erhalten?

+0

ich habe hat nie mit dieser API gearbeitet, aber die [docs] (https://www.visualstudio.com/en-us/integrate/get-started/auth/overview) scheint zu implizieren, dass Sie beides tun können. "Aktivieren Sie alternative Anmeldeinformationen" in Ihrem Profil scheint grundlegende Authentifizierung zu aktivieren, aber ich bin mir nicht sicher, ob das oAuth deaktiviert. Zweifeln Sie, aber vielleicht lohnt es sich, sie anzuschauen. Haben Sie oAuth für andere Aktionen? –

+0

Yup. oAuth arbeitet sehr gut für andere Aktionen. Ich kann keine Anwendung haben, die die Benutzer zweimal nach ihren Anmeldeinformationen fragt. :(Das ist wahnsinnig – BeginnerCoder

+0

Wenn andere Leute diese API verwenden ... funktioniert das Abrufen von Bildern aus einer Arbeitselementbeschreibung nicht – BeginnerCoder

Antwort

8

Sowohl Basic Auth als auch OAuth 2.0 werden von der REST-API unterstützt.

Klicken Sie sich durch, um details on using OAuth 2.0 mit der API

UPDATE: einen wichtigen Teil der Frage verschossen. Es tut uns leid. :-(

Um ein Benutzer Bild zu erhalten der Endpunkt ist

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

Leider _api/_common/identityImage ist kein erlaubter Weg für eine App, die zur Zeit mit einer OAuth-Zugriffstoken authentifiziert, so ist dies ein erwartetes Verhalten. das Team ist sich dessen bewusst zu, obwohl ich weiß nicht, wo sie in ihrer Liste der Prioritäten ist.

einen Vorschlag für diese bei http://visualstudio.uservoice.com hinzufügen, so dass es die Anforderung mehr sichtbar für sie macht.

+0

Ja, ich weiß, dass es mit oAuth funktioniert, aber wenn ich versuche, oAuth zu verwenden, um das Anzeigebild zu erhalten – BeginnerCoder

+0

Danke für die Klarstellung! Denkst du, dass es ratsam wäre, die Benutzerdaten erneut zu erfassen? Weil ich den Benutzer bereits dazu berechne, seine Zugangsdaten für den oAuth-Zugang einzugeben ... und jetzt zweimal. Wäre das gut? ? – BeginnerCoder

+0

Wahrscheinlich nicht die beste Benutzererfahrung :-) Ich denke, Sie haben zwei Möglichkeiten. Ein; Zeige die Bilder der Leute nicht. Dann müssen Sie den Nicht-OAuth-Aufruf nicht durchführen. Oder zwei; Drop OAuth und grundlegende Authentifizierung für alle API-Aufrufe verwenden. Da Sie (wahrscheinlich) keine Benutzernamen/Kennwörter für Personen speichern möchten, müssen diese bei jeder Verwendung der App erneut eingegeben werden. Ohne die Wichtigkeit der Profilbilder zu kennen, würde ich für Option 1 gehen. –