2015-09-04 35 views
0

我试图建立一个C#Windows应用程序来执行一些自定义谷歌的Blogger任务。使用Google.Apis.Blogger.v3 Nuget包,我已经成功地查询了我的公开测试博客的帖子,但是现在我想让它能够查询博客的博文帖子和执行管理任务。认证与Blogger API为Windows桌面应用程序

我已经通过this page和一堆OAuth的相关页面。他们似乎都很模糊。该页面是我看到的最接近实际使用API​​的OAuth。但我不明白为什么它使用硬编码的字符串“user”。 “用户”从哪里来?

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

回答

0

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

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

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

相关问题