Frage

Ich habe erfolgreich eine von SharePoint gehostete App für Office 365 und meine lokale Installation vor Ort bereitgestellt.Die App zielt lediglich darauf ab, die REST-API für den Benutzerprofilmanager aufzurufen, um die Profileigenschaften eines Benutzers abzurufen.Egal wie ich versuche, die API aufzurufen, es schlägt fehl.

1) Wenn ich versuche, es mit aufzurufen $.getJson und die URL als http://host web url/_api/SP.UserProfiles.PeopleManager/GetMyProperties Bei einem domänenübergreifenden Aufruf schlägt dies fehl.

2) Wenn ich versuche, den Anforderungsausführer und die URL als zu verwenden http://app web url/_api/SP.UserProfiles.PeopleManager/GetMyProperties es schlägt fehl (nicht gefunden).

3) Wenn ich versuche, den Anforderungsausführer und die URL als zu verwenden http://app web url/_api/SP.AppContextSite(@t)/SP.UserProfiles.PeopleManager/GetMyProperties?@t='" + encodeURIComponent(hostweburl) + "'";Es schlägt fehl, wenn der Zugriff verweigert und/oder nicht gefunden wird.

Wenn ich genau das Gleiche verwende SP.AppContextSite und versucht, einfach den Titel des Webs abzurufen, es funktioniert einwandfrei.

Ist der SP.AppContextSite nur auf das Webobjekt beschränkt?Gibt es eine Möglichkeit, die Benutzerprofil-REST-API von einer in SharePoint gehosteten App aus aufzurufen?

War es hilfreich?

Lösung

Aktivieren Sie die Berechtigungen User Profiles = Read wie in Robs Antwort erwähnt, und dann sollte der folgende Code funktionieren.Wir müssen den Request Executor nicht verwenden, da wir hier keinen domänenübergreifenden Aufruf durchführen.

$.ajax({

    url:"http://<app web url>/_api/SP.UserProfiles.PeopleManager/GetMyProperties",
    headers:{ Accept:"application/json;odata=verbose" },
    success:function(data){
      alert(data.d.DisplayName);
    },
    error:function(jQxhr,errorCode,errorThrown){
      alert(errorThrown);
    }
});

Andere Tipps

Fordert Ihre App Leseberechtigungen für Benutzerprofile an?

enter image description here

Sie müssen auch die Berechtigungen der Reihe nach hinzufügen.Zuerst Mieter, dann Benutzerprofile (sozial)

App Permissions

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top