2014-02-26 28 views
1

任何人都可以幫助我使用Tweetsharp API從Twitter獲取國家詳細信息嗎?我已經寫了一個程序片段來獲取用戶的詳細信息,但我無法獲取用戶的國家詳細信息。如何使用Tweetsharp從Twitter獲取國家/地區的詳細信息?

 string tweetText = string.Empty; 
     int count; 
     StringBuilder sbWebsite = new StringBuilder(); 
     StringBuilder sbCountry = new StringBuilder(); 
     TwitterTest obj = new TwitterTest(); 

     TwitterService twitterService = obj.GetAuthentication(); 

     TwitterUser objUser = twitterService.GetUserProfile(new GetUserProfileOptions { IncludeEntities = true, SkipStatus = false }); 
     ListFollowersOptions objFollowerOptions = new ListFollowersOptions(); 

     objFollowerOptions.UserId = objUser.Id; 
     objFollowerOptions.ScreenName = objUser.ScreenName; 
     objFollowerOptions.IncludeUserEntities = true; 
     objFollowerOptions.SkipStatus = false; 
     objFollowerOptions.Cursor = -1; 

     TwitterCursorList<TwitterUser> followers = twitterService.ListFollowers(objFollowerOptions); 

     for (int i = 0; i < followers.Count; i++) 
     { 
      if (followers[i].Status != null) 
      { 
       if (followers[i].Status.Place != null) 
       { 
        if (followers[i].Status.Place.Country != null) 
         sbCountry.Append(followers[i].Status.Place.Country + ","); 
       } 

      } 
      sbWebsite.Append(followers[i].Url + ","); 
     } 
+0

難道我的回答幫助? –

回答

0

據我所知,你得到一個指定用戶的關注者列表,然後你試圖獲得關注的國家。您需要爲每個關注者調用GetUserProfile以獲取國家信息(如果提供了其他信息)

+0

嘿vaskea,謝謝你的迴應。我試圖爲每個追隨者調用GetUserProfile。但是我仍然使用空值代替國家。如果你不介意,請給我一個示例程序來獲取國家的詳細信息。 – user2515599

0

您的代碼正在從用戶狀態獲取國家/地區。然而,從用戶geo coordinates獲得狀態(即位置)內的用戶「放置」,並且許多用戶選擇不共享該信息。

而不是試圖從他們的狀態確定用戶的位置,我會參考Users「位置」和「時區」。但是,與用戶「地點」一樣,「地點」和「時區」也是可選的。

這裏就是跟隨者的用戶名,位置和時區的輸出的例子,與用戶的URL列表一起(這是又可選!)

static void Main(string[] args) 
{ 
var follwerUrls = new StringBuilder(); 
var followerNameLocationAndTimeZones = new StringBuilder(); 

var twitterService = new TwitterService("yourConsumerKey", "yourConsumerSecret"); 
twitterService.AuthenticateWith("yourToken", "yourTokenSecret"); 

var userProfile = twitterService.GetUserProfile(new GetUserProfileOptions { IncludeEntities = true, SkipStatus = false }); 

var followerOptions = new ListFollowersOptions 
         { 
          IncludeUserEntities = true, 
          ScreenName = userProfile.ScreenName, 
          SkipStatus = false, 
          UserId = userProfile.Id 
         }; 

var usersfollowers = twitterService.ListFollowers(followerOptions); 

foreach (var follower in usersfollowers) 
{ 
    followerNameLocationAndTimeZones.Append(follower.Name); 
    followerNameLocationAndTimeZones.Append(", "); 
    followerNameLocationAndTimeZones.Append(string.IsNullOrEmpty(follower.Location) ? "LOCATION NOT SPECIFIED" : follower.Location); 
    followerNameLocationAndTimeZones.Append(", "); 
    followerNameLocationAndTimeZones.Append(string.IsNullOrEmpty(follower.TimeZone) ? "TIMEZONE NOT SPECIFIED" : follower.TimeZone); 
    followerNameLocationAndTimeZones.Append('\n'); 

    follwerUrls.Append(follower.Url ?? "URL NOT SPECIFIED"); 
    follwerUrls.Append('\n'); 
} 

Console.WriteLine(followerNameLocationAndTimeZones.ToString()); 
Console.WriteLine(follwerUrls.ToString()); 
Console.ReadKey(); 
} 
相關問題