0

我开发了windows phone store商店应用程序和集成google登录功能,而不使用Google.Apis sdk。Google apis sdk for windows phone store app

我用WebAuthenticationBroker和它的工作正常。

更新1:

现在我在努力探索更新Google.Apis SDK的谷歌集成登录。

我能够用这个进入谷歌的登录界面:

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

和webAuthenticationResult得到响应方含code进一步需要。

但是,进一步使用它,我需要知道它给除了GoogleWebAuthorizationBroker.AuthorizeAsync所有API,你有什么关于Blogger /驱动器的API解释任何API文档 但不是访问令牌到期处理的API正常登录流程的需求。

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

我们是否需要处理这些所有情况或SDK是否需要关注它?

任何帮助真的很感谢Peleyal。 谢谢。

+0

我真的不明白这个问题。您可以通过以下网址查看完整版通用样本:https://code.google.com/p/google-api-dotnet-client/source/browse/?repo=samples#hg%2FBlogger.Sample – peleyal

+0

谢谢你的回应。我已经检查过Blogger示例,在那里加载客户端秘密json文件是在共享代码中完成的,因为应用程序是通用的。我只做Windows应用商店应用程序,并且无法使用您所做的方式形成uri。还在博客样本中获得聚合异常。 – vITs

+0

它应该工作。确保将文件添加为内容并将其复制到VS属性中。添加您的确切代码和确切的聚合异常,以便我和其他用户能够提供帮助。 – peleyal

回答

3

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

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

UPDATE:

它一提的是作为谷歌蜜蜂验证库的一部分,得到了授权代码时,应用程序将使用刷新和访问令牌替换是很重要的。 https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#credentials

更新2:
访问令牌将使用刷新令牌,你可以在发现自动刷新
按照指示,我看到流混淆我们的某些用户(我会即将更新的文档),和我想弄清楚这里:

  • 在第一时间,你需要访问谷歌的API,你应该打电话给你GetFilesAsync(或者访问其他一些功能文件\视频\博客或您正在使用的任何API)。
    这最终会导致致电GoogleWebAuthorizationBroker.AuthorizeAsync。 该实现检查是否已有访问和刷新令牌,并且因为没有,它将继续使用SerializableWebAuthResult.Name检查授权代码是否保存在数据存储中。情况并非如此,因此它启动了暂停当前应用程序并打开登录窗口的授权流程。

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

  • 注意,在这一点上,访问令牌和刷新令牌存储,因此任何未来的GetFilesAuthorizeAsync调用将导致检索标记形成数据存储和检查,如果访问令牌仍然有效,如果没有 - 库将使用刷新标记自动刷新它。

希望它使流动​​更清晰,随时添加更多评论,所以我会尽量让这个流程尽可能清晰。

+0

我非常感谢您为更新wp8.1的googl文档所付出的努力,而此前并没有这样做。我没有使用Goigle.Apis完成谷歌集成,只需要像webAuthenticationBroker等必要的所谓的谷歌服务。但我真的想使用这个SDK。 Doea通过使用第一次获得的长寿命刷新令牌来提供更新访问令牌的机制,因为访问令牌仅具有1小时过期。 – vITs

+0

我试过这个SDK,我能够获得登录屏幕。为了进一步使用它,我只想知道这个sdk提供的所有功能。它是否通过保存刷新令牌和更新访问令牌来第二次处理登录。有没有这个SDK的任何API文件?请检查我更新的问题。 – vITs

+1

当然!作为Google Apis Auth库的一部分,访问令牌将自动使用刷新令牌为您刷新,正如您可以在https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth中找到的那样#credentials – peleyal