【问题标题】:"Tenant does not have a SPO license" for Application Permissions on a OneDrive ConsumerOneDrive 消费者上的应用程序权限的“租户没有 SPO 许可证”
【发布时间】:2020-09-26 23:08:10
【问题描述】:

我有一个专门用于服务器端 API 访问的 Microsoft Graph 和 MSA/AAD v2 守护程序。在 Azure 门户中,我已为我的 Microsoft 帐户 (MSA) 授予 User.Read.All 和 Files.Read.All 的管理员许可。

我可以成功拿到一个token,我试过/me/drive/root/users/{user_guid}/drive/root都一样的返回结果:

GraphError {
  statusCode: 400,
  code: 'BadRequest',
  message: 'Tenant does not have a SPO license.',
  requestId: 'guid',
  date: 2020-06-08T09:53:12.000Z,
  body: '{"code":"BadRequest","message":"Tenant does not have a SPO license.","innerError":{"request-id":"guid","date":"2020-06-08T02:53:12"}}'
}

注意:我知道 SPO 指的是 SharePoint Online 和 OneDrive for Business,但这是针对 Microsoft 帐户用户的,我打算访问他们的 OneDrive Consumer(即http://onedrive.live.com)。

图表是否无法访问 OneDrive for Consumers?还是只有委托权限才有可能?我在 Graph 和 OneDrive 开发文档中都没有看到任何参考。

【问题讨论】:

    标签: microsoft-graph-api onedrive microsoft-account


    【解决方案1】:

    在与 Microsoft 身份团队交谈后,目前不支持使用 client_credentials 授权类型访问 Microsoft 帐户用户的个人 OneDrive(或其他 Microsoft Graph)内容的方案。

    您可以获得 MSA 用户的管理员同意,但这些方案仅限于在 AAD 租户中作为来宾用户操作的 MSA 用户,或者要求他们拥有 M365 许可证和关联的 SharePoint Online 实例。

    如果您希望从服务访问 MSA 用户的内容,则将刷新令牌持久保存在服务中并获得离线访问的同意目前似乎是推荐的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 2014-11-11
      • 1970-01-01
      • 2020-07-25
      相关资源
      最近更新 更多