2014-05-20 26 views
0

IM使在WPF应用程序,它使用RESTful API,因此从sharefile IM使得autorisation 到目前为止,我有这个HttpWebRequest的WPF中

private void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     Uri uri = new Uri("https://secure.sharefile.com/oauth/authorize"); 
     HttpWebRequest request = WebRequest.CreateHttp(uri); 
     shareFileWebView.Navigate(uri); 
     request.Method = "POST"; 
     shareFileWebView. // but i supose to get something from here 
     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     Console.WriteLine(response.StatusCode); 
     JObject token = null; 
     using (var reader = new StreamReader(response.GetResponseStream())) 
     { 
      string body = reader.ReadToEnd(); 
      token = JObject.Parse(body); 
     } 

     OAuth2Token _tokene =new OAuth2Token(token); 

    } 

我需要获得令牌,但如何从获得网页浏览器?在webr浏览器中,用户填写他的账户数据,任何想法?

+0

你有没有得到这个地方?你如何获得你上传文件的链接? –

回答

0

Http请求(例如发送图像):

public string httpRequest(string url,byte[] image) 
     { 
      try 
      { 
       var request = (HttpWebRequest)WebRequest.Create(url); 
       request.Method = "Post"; 
       request.ContentType = "multipart/form-data"; 
       request.ContentLength = image.Length; 
       using (Stream postStream = request.GetRequestStream()) 
       { 
        postStream.Write(image, 0, image.Length); 
        postStream.Close(); 
        WebResponse response = request.GetResponse(); 
        var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
        if (!string.IsNullOrEmpty(responseString)) 
         return responseString; 
        return null; 
       } 
      } 
      catch (Exception ex) 
      { 
       return ex.Message; 
      } 
     } 

或:

public string RunCommand() 
     { 
      ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; 

      var request = (HttpWebRequest)WebRequest.Create("url"); 
      var response = (HttpWebResponse)request.GetResponse(); 
      var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
      response.Close(); 

      return responseString; 
     }