当我四处寻找有关为桌面创建 Box.net 应用程序的答案时,试图获得登录身份验证所花费的时间比它真正应该拥有的要多......
因此,我决定在我的网站上整理一篇文章,介绍创建可以登录并使用其 SDK 的 C# .Net 4.0 桌面应用程序的过程。这是使用他们新的 OAuth 2.0 登录系统。
首先,我们使用标准 HttpWebRequest 对象发送初始 Web 请求,以获取用于 OAuth 2.0 登录的 UI 网页。Web 响应返回后,我们将其转换为 Stream 以供我们的 Web 浏览器使用。重定向 URI 可以是任何基于 HTTPS 的 URI。
string baseURI = "https://www.box.com/api/oauth2/authorize?";
string responseType = "&response_type=code";
string clientId = "&client_id=YOUR OWN CLIENT ID";
string redirectURI = "&redirect_uri=https://app.box.com/services/poc_connector";
var targetUri = new Uri(baseURI + responseType + clientId + redirectURI);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(targetUri);
要将 Stream 注入 Web 浏览器控件,我们使用 document 属性
webBrowser1.DocumentStream = view;
一旦完成,用户的所有操作都由网络浏览器控件处理。在用户按下“授予访问权限”按钮时捕获身份验证令牌。我们为 web-browsers Navigated 事件添加了一个事件监听器。
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
if (e.Url.AbsolutePath != "blank" && e.Url.ToString().Contains("&code="))
{
Token = e.Url.ToString().Substring(e.Url.ToString().IndexOf("&code="));
Token = Token.Replace("&code=", String.Empty);
this.Close();
}
}
链接我的原创文章和源码:link