Domanda

Ho implementato con successo un'app di SharePoint Hosted a Office 365 e il mio locale in premi installazione.Tutte le app volte a fare è chiamare l'API di riposo per il gestore del profilo utente per ottenere le proprietà del profilo di un utente.Non importa come provo a chiamare l'API fallisce.

1) Se provo a chiamarlo utilizzando $.getJson e l'URL come http://host web url/_api/SP.UserProfiles.PeopleManager/GetMyProperties non riesce per la chiamata di dominio cross.

2) Se provo a utilizzare l'esecutore di richiesta e l'URL come http://app web url/_api/SP.UserProfiles.PeopleManager/GetMyProperties fallisce (non trovato).

3) Se provo a utilizzare l'esecutore di richiesta e l'URL come http://app web url/_api/SP.AppContextSite(@t)/SP.UserProfiles.PeopleManager/GetMyProperties?@t='" + encodeURIComponent(hostweburl) + "'";Non riesce all'accesso negato e / o non trovato.

Se utilizzo lo stesso identico generatodicetagcode e cerca di ottenere semplicemente il titolo del Web funziona bene.

è il SP.AppContextSite limitato a solo l'oggetto web?C'è un modo per chiamare l'API di riposo profili utente da un'app di SharePoint Hosted?

È stato utile?

Soluzione

Impostare le autorizzazioni su User Profiles = Read come menzionato nella risposta di Rob e quindi il seguente codice dovrebbe funzionare.Non abbiamo bisogno di usare la richiesta di esecutore perché non stiamo facendo una chiamata di dominio croce qui.

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

Altri suggerimenti

La tua richiesta APP ha letto le autorizzazioni ai profili utente?

Inserire l'immagine Descrizione qui

Devi aggiungere anche le autorizzazioni in ordine.In primo luogo, quindi profili utente (social)

Autorizzazioni app

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top