2014-12-21 8 views
-1

트위터에 그림을 게시 할 데스크톱 응용 프로그램에 단추를 추가하려고합니다. ASP.net을 사용하는 몇 가지 샘플 코드를 온라인에서 찾았지만 C# 데스크톱 응용 프로그램에서 사용하려고 할 때 요청 및 응답 이름에 오류가 발생하는 것 같습니다. 누구도 요청 및 응답 이름이 ASP에서 문제를 일으키지 않지만 C#에서는 원인을 알 수 있습니까? httpRequest/Response를 만들어야합니까?C# Desktop 응용 프로그램에서 Twitterizer 사용 "이름 요청이 없습니다 ..."

여기 내 코드입니다. 제공 할 수있는 도움에 감사드립니다!

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Twitterizer; 
using System.IO; 
using System.Web; 
using System.Web.UI.WebControls; 
using System.Web.UI; 

    namespace TwitterTestApp 
    { 
     class Twitter 
     { 
     public Twitter() 
     { 
     } 

     public void PostPicture() 
     { 
      string oauth_consumer_key = "123456789"; 
      string oauth_consumer_secret = "abdefg123456"; 
      if (Request["oauth_token"] == null) 
      { 
       OAuthTokenResponse reqToken = OAuthUtility.GetRequestToken(oauth_consumer_key,  oauth_consumer_secret, Request.Url.AbsoluteUri); 
      Response.Redirect(string.Format("http://twitter.com/oauth/authorize?oauth_token={0}", reqToken.Token)); 
      } 
      else 
      { 
       string requestToken = Request["oauth_token"].ToString(); 
       string pin = Request["oauth_verifier"].ToString(); 
       var tokens = OAuthUtility.GetAccessToken(oauth_consumer_key, oauth_consumer_secret, requestToken, pin); 
       OAuthTokens accesstoken = new OAuthTokens() 
       { 
        AccessToken = tokens.Token, 
        AccessTokenSecret = tokens.TokenSecret, 
        ConsumerKey = oauth_consumer_key, 
        ConsumerSecret = oauth_consumer_secret 
       }; 
       byte[] photo = File.ReadAllBytes(@"C:\img.jpg"); 
       TwitterResponse<TwitterStatus> response = TwitterStatus.UpdateWithMedia(accesstoken, "img", photo); 
       if (response.Result == RequestResult.Success) 
       { 
        Response.Write("This is YOUR PAGE"); 
       } 
       else 
       { 
        Response.Write("Try some other time"); 
       } 
      } 
     } 
    } 
} 

답변

1

RequestResponse 모두 가정 될 변수입니다. 이 코드를 복사하면 그 코드를 모두 얻지 못할 수도 있습니다. 두 변수에 대한 정의가 있어야하지만 존재하지 않으므로 VS는 존재하지 않는 오류를 표시합니다.

RequestResponseboth variables in ASP.NET이므로이 코드는 일반 C#의 상자에서 작동하지 않습니다. 요청은 클라이언트가 웹 서버에 보내는 내용이며 응답은 다시 보내는 내용입니다.

편집 : 코드를 조금 더 살펴본 후에는 전혀 작동하지 않습니다. 이것은 ASP.NET 응용 프로그램의 한 페이지로 설계되었습니다. 데스크톱 응용 프로그램은 서버가 아니며 "응답"을 보내려고합니다.

WebRequest을 살펴보고 twitter API에 POST 요청을 보낼 수 있습니다.