Question

J'ai déployé avec succès une application hébergée SharePoint sur Office 365 et mon installation locale sur site.Tout ce que l'application vise à faire est d'appeler l'API REST pour le gestionnaire de profil utilisateur afin d'obtenir les propriétés de profil d'un utilisateur.Peu importe la façon dont j'essaie d'appeler l'API, cela échoue.

1) Si j'essaie de l'appeler en utilisant $.getJson et l'url comme http://host web url/_api/SP.UserProfiles.PeopleManager/GetMyProperties il échoue pour les appels inter-domaines.

2) Si j'essaie d'utiliser l'exécuteur de requête et l'URL comme http://app web url/_api/SP.UserProfiles.PeopleManager/GetMyProperties il échoue (introuvable).

3) Si j'essaie d'utiliser l'exécuteur de requête et l'URL comme http://app web url/_api/SP.AppContextSite(@t)/SP.UserProfiles.PeopleManager/GetMyProperties?@t='" + encodeURIComponent(hostweburl) + "'";il échoue en cas d'accès refusé et/ou introuvable.

Si j'utilise exactement la même chose SP.AppContextSite et essaie simplement d'obtenir le titre du site Web, cela fonctionne très bien.

Est le SP.AppContextSite limité à l'objet Web uniquement ?Existe-t-il un moyen d'appeler l'API REST des profils utilisateur à partir d'une application hébergée SharePoint ?

Était-ce utile?

La solution

Définir les autorisations sur User Profiles = Read comme mentionné dans la réponse de Rob, le code suivant devrait fonctionner.Nous n'avons pas besoin d'utiliser l'exécuteur de requêtes car nous n'effectuons pas d'appel inter-domaines ici.

$.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);
    }
});

Autres conseils

Votre application demande-t-elle de lire des autorisations sur des profils utilisateur?

Entrez la description de l'image ici

Vous devez ajouter les autorisations dans l'ordre aussi.Le locataire d'abord, puis des profils d'utilisateurs (social)

autorisations de l'application

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top