如何使用 uwp 社区工具包中的 OneDrive 服务获取用户 ID

How to get user id using OneDrive service in uwp community toolkit

我在 uwp 社区工具包中使用 OneDrive 服务。 我可以获取所有文件夹,但不知道如何获取用户 ID(当然不是电子邮件地址,我的意思是代表用户的唯一 ID)。

谁能帮忙,谢谢

if (await OneDriveService.Instance.LoginAsync())
{
    _appFolder = await OneDriveService.Instance.AppRootFolderAsync();
    ShowBusy(false);
}

无法获取用户标识符。您可以实施它,然后为它提出 PR,或者您可以提出一个问题,看看结果如何。

https://github.com/Microsoft/UWPCommunityToolkit/issues

When debuging, I find a user id, located in OneDriveService.Instance ---- Provider ---- AuthenticationProvider ---- CurrentAccountSession ---- UserId, but don't know how to get it

如果您查看社区工具包源代码,您会发现 CurrentAccountSession 属于 MsaAuthenticationProvider class。而这个 class 在 Microsoft.OneDrive.Sdk.Authentication 命名空间中。如果你想得到UserId,你需要更改社区工具包的源代码并自行编译一个自定义版本。

例如,在 OneDriveService.cs 中,您可以像这样 (_accountProvider as MsaAuthenticationProvider).CurrentAccountSession.UserId_accountProvider 转换为 MsaAuthenticationProvider