我可以使用Microsoft Graph访问Sharepoint日历吗?
我需要从SharePoint上的共享日历中提取事件 使用Microsoft Graph,我找到了日历: 其中包括一个列表数组。然后我试着: 返回:我可以使用Microsoft Graph访问Sharepoint日历吗?,sharepoint,office365,microsoft-graph-api,Sharepoint,Office365,Microsoft Graph Api,我需要从SharePoint上的共享日历中提取事件 使用Microsoft Graph,我找到了日历: 其中包括一个列表数组。然后我试着: 返回: [_decodedBody:Microsoft\Graph\Http\GraphResponse:private] => Array ( [@odata.context] => https://graph.microsoft.com/v1.0/$metadata#sites('company.sharepoi
[_decodedBody:Microsoft\Graph\Http\GraphResponse:private] => Array
(
[@odata.context] => https://graph.microsoft.com/v1.0/$metadata#sites('company.sharepoint.com')/lists('CALENDAR_ID')/list
[contentTypesEnabled] => 1
[hidden] =>
[template] => events
)
没有列出任何事件。我还尝试了/sites/{site id}/lists/{list id}/items,如图所示。这不显示事件。可以这样提取事件吗?首先,对于您提到的问题“/sites/{site id}/lists/{list id}/items” 这仅在graph api beta版中可用,是的,不要在产品的生产版本中使用它 请尝试使用上述代码检索您的日历项目。 没有列出任何事件。我也试过了 /站点/{site id}/list/{list id}/items,如Microsoft的API所示 参考文件。这不显示事件 最有可能发生这种情况,因为每个日历都启用了项目级权限 如何验证
- 转到SharePoint UI中的日历设置:
/\u layouts/15/listedit.aspx?List={List id}
- 在
验证高级设置下
是否读取了 选择由用户创建的
读取用户创建的项目
选项,则端点https://graph.microsoft.com/v1.0/sites/{site id}/lists/{list id}/items
将仅返回当前用户创建的事件
为了返回所有事件,可以考虑以下选项: 1) 通过将每个日历的项目级别权限设置为“读取所有项目” 2) 或利用SharePoint API端点检索所有事件:
https://server/_api/web/lists/getbyid('')/项目
根据用户权限,您可能需要启用覆盖列表行为
权限级别
否则,具有受限权限的用户将无法检索所有事件
https://.sharepoint.com/site//_api/web/lists/getbytitle('Calendar')/items