繁体   English   中英

通过OneDrive for Business API对用户文件进行管理访问

[英]Administrative access to user's file via OneDrive for business API

我正在开发一个通过REST API访问OneDrive for Business的Web应用程序。 我的用户很难将用户的刷新令牌配置到系统,因为有很多用户。

所以,我想用一个管理员令牌访问所有用户的文件。 但是,似乎OneDrive API没有这样的功能。 我该怎么办?

提前致谢

虽然没有这样的功能可以直接启用按钮并访问所有用户文件。 但是,有一种方法。 我也有同样的问题并联系了Microsoft支持。

他们建议我添加一个用户(让他们让管理员用户)作为所有其他用户MySites的辅助管理员。 有两种方法

1)在创建一个驱动器帐户之前。 - >如果用户仍未创建其OneDrive帐户,则以下设置有助于将admin设置为将来将创建其帐户的所有用户的辅助管理员。 - > GoTo SharePoint管理中心 - >然后转到用户配置文件。 - >在那里你看到了我的网站设置。 点击设置我的网站,然后在设置页面中找到我的网站辅助管理员。 在提供的字段中添加admin用户,然后单击“启用辅助管理员”复选框。

2)如果用户帐户已退出,则需要将二级管理员设置为个人帐户。 - >对于此用户配置文件,请单击管理用户下的用户配置文件 并寻找我。 - >将填充所有可用用户的列表。 将鼠标悬停在用户名上以查找向下箭头按钮单击它以打开菜单,然后单击管理网站集管理员。 现在在网站集管理员字段中添加admin用户并保存。

这两种方法可以帮助您从ui和api访问所有用户驱动器。

对于第二个过程,您可以编写自定义Microsoft SharePoint联机脚本(确实是一个电源shell脚本)来将用户设置为辅助管理员。

使用以下powershell脚本执行此操作。 将以下代码段保存到file.ps1并在sharepoint在线管理shell中运行。

Import-module msonline
Write-Host "Please input credential of administrator"
$cred = Get-Credential
Connect-MsolService -Credential $cred
Write-Host "Please enter tenant"
$tenant = Read-Host
$adminsite = "https://"+ $tenant +"-admin.sharepoint.com"
Connect-SPOService -Credential $cred -url $adminsite
Write-Host "Please specify the administrator user principal name which will be the admin member for all personal sites"
$admin = Read-Host
$usersLogin = Get-MsolUser |ForEach-Object {$_.UserPrincipalName}
foreach($user in $usersLogin)
 {
  $account,$domain = $user.Split("@",2)
  if ( $account.Contains("."))
   {
    $account= $account.Replace(".","_")
   }
  ElseIf ( $domain.Contains("."))
   {
    $domain= $domain.Replace(".","_")
   }
  $site = "https://" + $tenant + "-my.sharepoint.com/personal/"+ $account +"_" + $domain

  Set-SPOUser -Site $site -LoginName $admin -IsSiteCollectionAdmin $true
  Write-Host  $admin " has been added as an administrator for personal site " $site`n
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM