我正尝试使用msGraph从我的SharePoint Online租户获取所有中心站点、站点和子站点的列表。下面是我正在使用的代码:
Package 解决方案:
"webApiPermissionRequests": [
{
"resource": "Microsoft Graph",
"scope": "User.ReadBasic.All"
}
],
数据访问:
export const GetSitesMsGraph = (context: any) => {
return context.msGraphClientFactory
.getClient('3')
.then((client: MSGraphClientV3) => {
client
.api('sites')
.version("v1.0")
.get((err, res) => {
if (err) {
console.error(err);
return;
}
console.log(res)
return res;
})
})
}
这将返回一个空数组。我已经尝试交换.api('sites')
与.api('/sites')
和仍然没有返回的数据。
如果我用.api('users')
替换.api('sites')
,我将从租户获得完整的用户列表。这个sites
不正确吗?我已经确保所有使用msGraph的SPFx调用都具有租户管理员的权限。
我也读了下面的:
https://learn.microsoft.com/en-us/sharepoint/dev/spfx/use-aad-tutorial
1条答案
按热度按时间agxfikkp1#
是,默认情况下,Graph API端点
/sites
返回空值。解决方法是使用
search
查询参数或使用应用程序权限,可以列出所有站点
我记得即使
/sites?search=*
也不会返回所有子站点(跨所有地理位置)