我正在尝试开发一个C#Windows应用程序来执行一些自定义的Google Blogger任务。使用Google.Apis.Blogger.v3 Nuget包,我已经成功查询了我的公共测试博客'帖子,但现在我想让它能够查询私人博客'在博客上发布和执行管理任务。
我已经浏览了this page以及OAuth上的一些相关页面。他们看起来都很模糊。该页面是我最接近了解如何在API中实际使用OAuth的页面。我不明白它为什么使用硬编码字符串" user&#34 ;,但是。 "用户"来自?
此外,我不知道这将如何让我访问博客。我想它会验证我的应用程序,但我的应用程序没有管理它想要的任何博客的权利。我的应用的用户是否必须获得自己的OAuth ID&秘密并提供给我的应用程序?用户不友好。我想我的应用程序只允许用户输入他们的博客的URL,他们的用户名和密码,然后通过API进行身份验证,并在每次请求时发送该令牌。有没有办法让我只使用用户名访问博客&密码?
答案 0 :(得分:0)
我通过查看一些其他更好的文档API来弄清楚它。 youtube API docs had a page更详细地解释了它。基本上,Google不希望用户将凭据输入您的应用。相反,您将它们发送到允许他们授权您的应用程序的Google页面。您将OAuth信息传递到该页面,以便它可以识别您的应用并询问用户是否允许访问。这是桌面应用程序有点毛茸茸的地方。该页面可以回发到localhost URL,但由于大多数用户没有Web服务器,因此它还可以选择将响应放在响应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()
的硬编码“用户”参数,但它似乎有效。