2017-03-06 111 views
-2

我正在开发一个简单的Winform应用程序,允许用户使用他们的Google帐户创建一个帐户。我已经检查了谷歌Api的文档,但我不知道它如何与winforms一起工作。Google+登录Winform使用C#

应用的想法很简单,我有2个形式:

  1. 主菜单,有一个按钮,显示第二种形式。
  2. WebBrowserForm,这个表单包含一个web浏览器访问googleand获取信息。

请帮助我一个教程或其他任何东西。

回答

1

没有任何东西可以直接用来做这件事。官方Google .net client library不会为您提供auth URI以供您在Web浏览器控件中显示,它会在用户默认Web浏览器中自动打开它。

这并不意味着这不是你不能做的事。我有一个应用程序可以做到这一点,但我必须自己写下自下而上。

我有一个非常古老的教程,我如何做到这一点。它始于建立uri。

public static Uri GetAutenticationURI(string clientId, string redirectUri) 
    { 
    // separate more then one scope with a space 
    string scopes = "https://www.googleapis.com/auth/plus.login email"; 
    if (string.IsNullOrEmpty(redirectUri)) 
    { 
    redirectUri = "urn:ietf:wg:oauth:2.0:oob"; 
    } 
string oauth = string.Format("https://accounts.google.com/o/oauth2/auth?client_id={0}&redirect_uri={1}&scope={2}&response_type=code", clientId, redirectUri, scopes); 
return new Uri(oauth); 
    } 

完整教程Google API and Oauth2

所有这一切都要做的是让你一次认证你有你的用户的刷新令牌你刚才保存,那么你可以再次访问数据。您将必须检查您想要请求数据的API的文档,只需在每个请求的结尾添加访问令牌access_token = mytoken,或者将其添加到请求的头部即可。

+0

感谢您的回答,我有我在教程中尝试代码,它显示我的谷歌认证页面,但是当我点击接受时,它不会返回任何内容? –

+0

它应该加载一个新窗口,您将需要获取认证码。它是一个简单的HTTP获取,所以你可以通过将URL放在浏览器窗口中进行测试。尽管文档完整,尝试调试你的方式。 – DaImTo

+0

当我debbug它显示我在方法“webbrowser1_DocumentCompleted()”中的exeception“超出范围”? –