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

时间:2017-12-14 15:22:51

标签: c# uwp onedrive windows-community-toolkit

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

谁能提供帮助,谢谢。

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

2 个答案:

答案 0 :(得分:1)

  

当debuging时,我找到一个用户ID,位于OneDriveService.Instance ---- Provider ---- AuthenticationProvider ---- CurrentAccountSession ---- UserId,但不知道怎么弄它

如果检查社区工具包源代码,您会发现CurrentAccountSession属于MsaAuthenticationProvider类。此类位于Microsoft.OneDrive.Sdk.Authentication命名空间中。如果您想获得UserId,则需要更改社区工具包的源代码并自行编译自定义版本。

例如,在OneDriveService.cs中,您可以将_accountProvider转换为MsaAuthenticationProvider,例如(_accountProvider as MsaAuthenticationProvider).CurrentAccountSession.UserId

答案 1 :(得分:0)

无法获取用户标识符。你可以实现它,然后为它提出一个公关,或者你可以提出一个问题,看看情况如何。

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