【问题标题】:Authentication with Blogger API for Windows desktop app使用适用于 Windows 桌面应用程序的 Blogger API 进行身份验证
【发布时间】:2015-09-04 21:39:04
【问题描述】:

我正在尝试开发一个 C# Windows 应用程序来执行一些自定义的 Google Blogger 任务。使用 Google.Apis.Blogger.v3 Nuget 包,我已经成功查询了我的公共测试博客的帖子,但现在我想让它能够查询私人博客的帖子并在博客上执行管理任务。

我浏览过this page 和一堆关于 OAuth 的相关页面。它们看起来都很模糊。该页面是我了解到如何通过 API 实际使用 OAuth 的最接近的页面。不过,我不明白为什么它使用硬编码字符串“user”。 “用户”从何而来?

此外,我不明白这将如何让我访问博客。我想它会验证我的应用程序,但我的应用程序无权管理它想要的任何博客。我的应用程序的用户是否必须去获取他们自己的 OAuth ID 和密码并将其提供给我的应用程序?对用户不友好。我想我的应用程序只允许用户输入他们博客的 URL、用户名和密码,然后通过 API 以该用户身份进行身份验证,并在每个请求中发送该令牌。有没有办法让我只使用用户名和密码来访问博客?

【问题讨论】:

    标签: .net authentication oauth blogger google-api-dotnet-client


    【解决方案1】:

    我通过查看其他一些文档更好的 API 找到了答案。 youtube API docs had a page 更详细地解释了它。基本上,Google 不希望用户将他们的凭据输入到您的应用程序中。相反,您将它们发送到允许他们授权您的应用程序的谷歌页面。您将 OAuth 信息传递到该页面,以便它可以识别您的应用并询问用户是否允许访问。这是桌面应用程序有点毛茸茸的地方。该页面可以回发到 localhost URL,但由于大多数用户没有 Web 服务器,它还可以选择将响应放在响应网页的标题中。查找 Google oauth redirect_uri 参数以获取相关信息。

    Google .NET API 内置了对此的支持(请参阅GoogleWebAuthorizationBroker.AuthorizeAsync and UserCredential)。它可以读取开发者控制台为您生成的 client_secret.json 文件,打开客户端浏览器并发送 oauth 访问请求,读取响应,完成后关闭浏览器。 This link with a Console App example 真的帮助了我。

    我仍然不清楚的唯一部分是发送到GoogleWebAuthorizationBroker.AuthorizeAsync() 的硬编码“用户”参数,但它似乎有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 2011-06-24
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多