2012-11-23 2 views
-2
String status; 
      IEnumerable<TwitterStatus> twitterStatus = twitterService.ListTweetsOnPublicTimeline(); 
      foreach(String status in twitterStatus) 
      { 
       Console.WriteLine(twitterStatus); 
      } 

왜 foreach 루프에서 문자열 유형 오류를 변환 할 수 없습니까? 이이있는 내가 일하는 C#에서 지식의 나의 부족이다 foreach 루프에 하나의 오류에 직면하고 내 전체 코드 내 전체 코드twitter에서 공개 데이터를 가져 오는 중 오류가 발생했습니다.

namespace TweetingTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      TwitterClientInfo twitterClientInfo = new TwitterClientInfo(); 
      twitterClientInfo.ConsumerKey = ConsumerKey; //Read ConsumerKey out of the app.config 
      twitterClientInfo.ConsumerSecret = ConsumerSecret; //Read the ConsumerSecret out the app.config 

      TwitterService twitterService = new TwitterService(twitterClientInfo); 

      if (string.IsNullOrEmpty(AccessToken) || string.IsNullOrEmpty(AccessTokenSecret)) 
      { 
       //Now we need the Token and TokenSecret 

       //Firstly we need the RequestToken and the AuthorisationUrl 
       OAuthRequestToken requestToken = twitterService.GetRequestToken(); 
       string authUrl = twitterService.GetAuthorizationUri(requestToken).ToString(); 

       //authUrl is just a URL we can open IE and paste it in if we want 
       Console.WriteLine("Please Allow This App to send Tweets on your behalf"); 
       //Process.Start(authUrl); //Launches a browser that'll go to the AuthUrl. 

       //Allow the App 
       Console.WriteLine("Enter the PIN from the Browser:"); 
       string pin = Console.ReadLine(); 

       OAuthAccessToken accessToken = twitterService.GetAccessToken(requestToken, pin); 

       string token = accessToken.Token; //Attach the Debugger and put a break point here 
       string tokenSecret = accessToken.TokenSecret; //And another Breakpoint here 

       Console.WriteLine("Write Down The AccessToken: " + token); 
       Console.WriteLine("Write Down the AccessTokenSecret: " + tokenSecret); 
      } 

      twitterService.AuthenticateWith(AccessToken, AccessTokenSecret); 

      //Console.WriteLine("Enter a Tweet"); 
      //string tweetMessage; 
      //string data; 
      //string ListTweetsOnPublicTimeline; 
      //string TwitterUserStreamStatus = ListTweetsOnPublicTimeline(); 
      //TwitterStatus=ListTweetsOnPublicTimeline(); 
      //tweetMessage = Console.ReadLine(); 
      //ListTweetsOnPublicTimeline = Console.ReadLine(); 
      //TwitterStatus twitterStatus = twitterService.SendTweet(tweetMessage); 
      //TwitterStatus twitterStatus = twitterService.ListTweetsOnPublicTimeline(); 
      //String status; 
      IEnumerable<TwitterStatus> tweets = twitterService.ListTweetsOnPublicTimeline(); 
      foreach(var tweet in tweets) 
      { 
       Console.WriteLine(tweet); 
       //Console.WriteLine("{0} says '{1}'", tweet.User.ScreenName, tweet.Text); 
      } 
      //twitterStatus=Console.ReadLine(); 
     } 

당신이를 통해 itterating하는 목적은

+1

무엇이 오류가 있습니까? 예외 텍스트 또는 메시지를 넣을 수 있습니까 – Amitd

+0

친절하게 그것을 확인하고 출력이 필요합니다, 예외를 원하지 않습니다 –

+0

질문을 업데이트하십시오 –

답변

0

당신이 뭔가를해야합니다 (단지 이 상태 텍스트를 보유 TwitterStatus의 어떤 특성을 가진 "는 .text를"대체) ..

using TweetSharp; 

    TwitterService service = new TwitterService(); 
    IEnumerable<TwitterStatus> tweets = service.ListTweetsOnPublicTimeline(); 
    foreach (var tweet in tweets) 
    { 
     Console.WriteLine("{0} says '{1}'", tweet.User.ScreenName, tweet.Text); 
    } 

이 코드를 사용하여 실패한 이유를 확인하십시오. 응답을 디버그하려고 시도하십시오. StatusCode

using TweetSharp; 

TwitterService service = new TwitterService(); 
IAsyncResult result = service.ListTweetsOnPublicTimeline(
    (tweets, response) => 
     { 
      if(response.StatusCode == HttpStatusCode.OK) 
      { 
       foreach (var tweet in tweets) 
       { 
        Console.WriteLine("{0} said '{1}'", tweet.User.ScreenName, tweet.Text); 
       } 
      } 
     }); 

여기에 더 있습니다 : https://github.com/danielcrenna/tweetsharp

+0

개체 참조가 개체의 인스턴스로 설정되지 않았습니다. –

+0

당신은이 기사를 따라야합니다 .. 단계별 가이드 .. 당신 twiiter와 함께 귀하의 응용 프로그램을 등록해야합니다. http://www.d80.co.uk/post/2011/02/13/A-Simple-Twitter-Client-in-C-with-OAUT-using-TweetSharp.aspx – Amitd

+0

이미 크롤링 중으로 등록되었습니다. 파이썬에서 지저귀다에서 데이터 세트, 그리고 지금은 C#을 사용 오전 –

0

문자열이 아닌 "TwitterStatus"유형을 사용하면 ... TwitterStatus 객체를 문자열로 자동 캐스팅하려고하면 혼란 스럽습니다.

귀하의 질문은 매우 모호합니다. 따라서 귀하의 TitterStatus 객체에는이 답변을위한 "텍스트"속성이 있다고 가정하겠습니다. 또한

foreach(TwitterStatus status in twitterStatus) 
{ 
    Console.WriteLine(status.Text); 
} 

+0

새 키워드를 사용하여 객체 인스턴스를 만듭니다! 이것은 이제 foreach 루프에 표시되는 오류입니다. –

+0

twitterStatus와 같은 소리가 null입니다. 귀하의 TwitterService 호출이 값을 반환합니까? –

+0

내 전체 코드를 업로드 –