Моя веб-часть SPFx работает нормально, пока я не попытаюсь вернуть результат вызова Graph API. Приведенный ниже код пытается получить пользователей, у которых есть разрешения на файловую библиотеку root для сайта, на котором установлена веб-часть.
console.log("Reached the Graph")
отображается в консоли инспектора, поэтому я предполагаю, что он что-то связанное с .push()
, которое я использую для добавления каждой возвращенной записи к response
, объявленному в начале метода.
Я также безуспешно пробовал более документированный .forEach()
ниже. Есть идеи?
private _loadUser(): MicrosoftGraph.Permission[] {
let response: MicrosoftGraph.Permission[];
this.props.context.msGraphClientFactory
.getClient()
.then((client: MSGraphClient): void => {
let apiUrl: string = '/groups/'+this.props.group+'/drive/items/root/permissions';
client
.api(apiUrl)
.version("v1.0")
.get((error?, result?: MicrosoftGraph.Permission[], rawResponse?: any) => {
// handle the response
if(error){
console.error(error);
}
if (result) {
console.log("Reached the Graph");
for (let res of result){
response.push(res);
}
}
}
);
});
return response;
}
result.forEach(element => {
response.push(element);
console.log(element.grantedTo.user.displayName);
});