C# 用于.NET的Google API-idatastore用户ID

C# 用于.NET的Google API-idatastore用户ID,c#,.net,google-api,windows-phone,google-api-dotnet-client,C#,.net,Google Api,Windows Phone,Google Api Dotnet Client,我是谷歌API的新手,尝试在Windows Phone上使用它的.NET客户端库 我正在使用GoogleWebAuthorizationBroker授权用户。问题是它有一个“userID”参数。这是怎么一回事?是谷歌的电子邮件帐户吗?第一次运行应用程序时,我如何知道用户的帐户 谢谢,这将是一个很长的答案,我主要是从我的教程中复制文本 让我们看看FileDataStore。当以下代码进行身份验证时。将在执行代码的计算机上的%AppData%目录中创建名为Drive.Auth.Store的文件夹

我是谷歌API的新手,尝试在Windows Phone上使用它的.NET客户端库

我正在使用GoogleWebAuthorizationBroker授权用户。问题是它有一个“userID”参数。这是怎么一回事?是谷歌的电子邮件帐户吗?第一次运行应用程序时,我如何知道用户的帐户


谢谢,

这将是一个很长的答案,我主要是从我的教程中复制文本

让我们看看FileDataStore。当以下代码进行身份验证时。将在执行代码的计算机上的%AppData%目录中创建名为Drive.Auth.Store的文件夹

因此,我们将有一个名为%AppDatat%\Drive.Auth.Store的新目录。当我检查我的机器时,我在这里找到它C:\Users\lindapp\AppData\Roaming\Drive.Auth.Store

UserCredential credential;
using (var stream = new FileStream(clientSecretsJsonFilePath
                                   ,FileMode.Open
                                   ,FileAccess.Read))
      {   
      credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
      GoogleClientSecrets.Load(stream).Secrets,
      new[] { DriveService.Scope.Drive,  DriveService.Scope.DriveFile },
      "LookIAmAUniqueUser",
       CancellationToken.None,
      new FileDataStore("Drive.Auth.Store")                               
      ).Result;
      }
假设用户在“身份验证请求”屏幕上单击“接受”,则将在该目录中创建一个具有以下结构的新文件:

Google.api.Auth.OAuth2.Responses.TokenResponse-LookIAmAUniqueUser.TokenResponse-LookIAmAUniqueUser

答复:

Userid
就是你想要的,它只是一个字符串。它仅用于区分同一台机器上的多个用户,以保存身份验证

当您希望再次加载用户时,您将传递该用户的用户ID,客户端库将加载他或她的身份验证。这在windows phone上并不真正需要。可能只有一个用户

如果要加载其他用户,请更改userid,它将保存该用户的身份验证(或者,如果相关用户已经对您的应用程序进行了身份验证,则加载该用户)