2014-09-10 103 views
3

有没有一种方法可以发现用户有一个OneDrive站点(用于Office365帐户)?如何通过API在Office365中查找OneDrive是否处于活动状态?

我通过

HTTPS获取用户列表我的SharePoint网站:// {域} -my.sharepoint.com/_api/web/siteusers

但没有字段可以表明用户是否有活动的OneDrive。通过OneDrive我的意思是这种类型的个人网站;

的https:// {域} -my.sharepoint.com/personal/user_name_domain_microsoft_com

一种方式找出是通过访问该URL用于该用户并检查是否产生了响应。

我试图通过REST API来完成它?对此有何帮助?

+0

你的意思是用户对业务OneDrive或者是你想发现如果O365用户与该ID相关联的个人OneDrive? – 2014-09-11 00:49:53

+0

如果O365用户拥有个人OneDrive ... Url属于此类/ personal/user_name_domain ...有没有办法? – 2014-09-11 03:16:00

回答

1

以下用户属性可以被用来区分实际(或活性)SPO用户:

REST请求:

/_api/web/siteusers?$filter=PrincipalType eq 1 and UserId/NameIdIssuer eq 'urn:federation:microsoftonline' 
+1

谢谢Vadim。虽然这是找到这个问题的正确方法,但我有一个相当不寻常的场景。即使您提到这个电话,我仍然会收到那些没有OneDrive或不再是系统/租户的用户。 我通过获取通过/ siteusers调用获得的用户与通过Graph API获得的用户的交集,克服了这个问题。 – 2014-11-05 06:35:37

+0

嗨,我有同样的问题。 @SyedMauzeRehan - 你能详细说明你所交的路口吗?您设法排除从'/ _api/web/siteusers'返回但没有初始化个人驱动器的用户的依据是什么? – Roman 2017-04-19 12:00:36

+0

您现在可以在O365中使用统一图形API。如果您发现一个驱动器针对用户,那么您可以说该用户拥有一个有效的OneDrive。 – 2017-04-19 15:21:40

1

你不能这样做,现在使用O365文件REST API这一权利,但你可以使用PowerShell命令(如本页面http://blog.blksthl.com/2014/08/07/office-365-guide-series-provision-onedrive-for-business-using-powershell/展示了如何使用PowerShell提供OneDrive为业务用户的列表,从那里它只是稍作修改打印出来,如果这些人都OneDrive置备)

但另一种解决办法,您提到,是使用O365文件REST API并拨打电话到该端点:

https://your_SP_URL.com/_api/v1.0/me/drive

如果你有错误,你会知道博士ive尚未配置。这是一个丑陋的解决方案,但它应该适用于您的目的。

+0

谢谢!我正在做类似的事情。 – 2014-11-05 06:36:32

相关问题