【问题标题】:Google API for .NET - idatastore userid适用于 .NET 的 Google API - idatastore 用户 ID
【发布时间】:2015-11-25 03:37:35
【问题描述】:

我是 Google API 的新手,并尝试在 Windows Phone 上使用其用于 .NET 的客户端库。

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

https://developers.google.com/api-client-library/dotnet/reference/1.9.2/classGoogle_1_1Apis_1_1Auth_1_1OAuth2_1_1GoogleWebAuthorizationBroker#a95045cb55eeb08fadd27b33e0193327c

谢谢,

【问题讨论】:

    标签: c# .net google-api windows-phone google-api-dotnet-client


    【解决方案1】:

    这将是一个很长的答案我主要从我的教程Google .net – FileDatastore demystified复制文本

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

    所以我们将有一个名为 %AppDatat%\Drive.Auth.Store 的新目录。当我检查我的机器时,我在这里找到它 C:\Users\lindaHP\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.Apis.Auth.OAuth2.Responses.TokenResponse-LookIAmAUniqueUser.TokenResponse-LookIAmAUniqueUser

    答案:

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

    当您想再次加载用户时,您传递该用户的用户 ID,客户端库将加载他或她的身份验证。这在 Windows Phone 上并不是真正需要的。应该只有一个用户。

    如果您想加载不同的用户,您可以更改用户 ID,它将保存该用户的身份验证(或者如果相关用户已经对您的应用程序进行了身份验证,则加载它)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 2021-10-29
      相关资源
      最近更新 更多