Google apis sdk for windows phone store app



我开发了Windows Phone Store应用程序,并在不使用Google.Apis sdk的情况下集成了Google Login。

我使用了WebAuthenticationBroker,它工作正常。

更新 1:

现在我正在尝试探索更新的Google.Apis SDK,用于Google集成登录。

我能够通过以下方式进入谷歌登录屏幕:

credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                new Uri("ms-appx:///Assets/client_secrets.json"),
                new[] { "openid", "email" , "profile"},
                "user",
                CancellationToken.None);

并在 webAuthenticationResult 中获取响应包含进一步需要code

但是,为了进一步使用它,我需要知道它提供的所有 API 除了 GoogleWebAuthorizationBroker.AuthorizeAsync 之外,是否有任何 API 文档您介绍了 Blogger/云端硬盘 API,但没有介绍访问令牌到期处理 API 正常登录流程需求。

如果您抽出时间并给我一个有关如何使用此SDK进行第二次应用程序启动的方向,我将非常感谢您,使用刷新令牌处理令牌过期,因为我看到每次使用GoogleWebAuthorizationBroker.AuthorizeAsync时都会导航到登录页面。

我们应该处理所有这些场景还是 SDK 来处理它?

任何帮助都非常感谢佩莱亚尔。谢谢。

我今天早些时候刚刚更新了文档,包括一个在Windows Phone 8.1应用程序中使用OAuth 2.0的简短教程。

看一看:https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#wp81

更新:

值得一提的是,作为 Google Apis 身份验证库的一部分,在获取授权代码时,应用会将其替换为刷新和访问令牌。
访问令牌将使用刷新令牌自动刷新,如以下位置所示:https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#credentials

更新 2:
按照说明进行操作,我看到该流程使我们的一些用户感到困惑(我很快就会更新文档),我试图在这里说清楚:

  • 在第一次需要访问Google API时,您应该调用GetFilesAsync(或其他一些访问文件\视频\博客或您正在使用的任何API的函数)。
    这最终将导致调用GoogleWebAuthorizationBroker.AuthorizeAsync。该实现会检查是否已有访问令牌和刷新令牌,如果没有,它会继续检查授权代码是否已使用 SerializableWebAuthResult.Name 保存在数据存储中。事实并非如此,因此它会启动授权流,从而挂起当前应用程序并打开登录窗口。

  • 再次激活应用后,我们调用继续管理器以继续流(文档中的步骤 5),后者又调用 ContinueWeb身份验证(步骤 6)。
    ContinueWebAuthentication 存储我们刚刚收到的授权代码,并再次调用 GetFilesAsync。这一次,数据存储中存在授权代码,因此 AuthorizeAsync 方法将其交换为访问和刷新令牌,并将其存储在数据存储中。然后,开发人员有责任删除数据存储中的授权代码(使用 SerializableWebAuthResult.Name 密钥)。此步骤将来可能会简化)。

  • 请注意,此时将存储访问令牌和刷新令牌,因此以后对 GetFilesAuthorizeAsync 的任何调用都将导致从数据存储中检索令牌,并检查访问令牌是否仍然有效,如果不是 - 库将使用刷新令牌自动刷新它。
希望它使流程更清晰,

请随时添加更多评论,以便我将尝试使此流程尽可能清晰。

相关内容

  • 没有找到相关文章

最新更新