private async Task <List <AdvancedTweet> > GetTimelineByUrl(string requestUrl) { OAuthClient client = new OAuthClient(accessToken); HttpResponseMessage response = new HttpResponseMessage(); try { response = await client.GetAsync(requestUrl); } catch (Exception ex) { throw new Exception("ネットワークエラーでタイムラインを取得できません", ex); } if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); return(MyJsonConverter.DeserializeTweets(json, accessToken)); } else { throw new Exception("レスポンスメッセージのStatusCodeがSuccessではありません。"); } }
public async Task <AdvancedTweet> GetTweet(string id) { var client = new OAuthClient(accessToken); AdvancedTweet tweet; HttpResponseMessage res = new HttpResponseMessage(); try { res = await client.GetAsync("https://api.twitter.com/1.1/statuses/show.json?id=" + id); tweet = MyJsonConverter.DeserializeStreamTweet(res.Content.ToString(), accessToken); return(tweet); } catch (Exception ex) { try { var errors = JsonConvert.DeserializeObject <Errors>(res.Content.ToString()); var error = errors.errors[0]; throw new Exception("Error " + error.code + ":" + error.message); } catch (Exception) { throw new Exception("ツイートの取得に失敗しました。", ex); } } }
public async Task <ObservableCollection <UserAccessToken> > GetUserListFromTweets(string requestUrl) { OAuthClient client = new OAuthClient(accessToken); HttpResponseMessage response = new HttpResponseMessage(); ObservableCollection <UserAccessToken> userAccessTokens = new ObservableCollection <UserAccessToken>(); try { response = await client.GetAsync(requestUrl); } catch (Exception ex) { var dialog = new MessageDialog(ex.Message, "ユーザー一覧を取得できません"); await dialog.ShowAsync(); } if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); List <AdvancedTweet> tweets = MyJsonConverter.DeserializeTweets(json, accessToken); foreach (var tweet in tweets) { var item = new UserAccessToken(accessToken, tweet.source.user); userAccessTokens.Add(item); } return(userAccessTokens); } else { var dialog = new MessageDialog(response.ReasonPhrase, "レスポンスメッセージのStatusCodeがSuccessではありません。"); await dialog.ShowAsync(); } return(null); }
public async Task GetStream(Action <AdvancedTweet> fetchAction) { OAuthClient client = new OAuthClient(accessToken); await client.GetStreamAsync("https://userstream.twitter.com/1.1/user.json", (json) => { AdvancedTweet advancedTweet; try { advancedTweet = MyJsonConverter.DeserializeStreamTweet(json, accessToken); } catch (Exception ex) { throw new Exception("また知らない形のjsonが投げられたみたい。:" + json, ex); } fetchAction(advancedTweet); }); }
public async Task <List <AdvancedTweet> > GetSearchResult(int count, AdvancedTweet oldTweet, string word) { var requestUrl = "https://api.twitter.com/1.1/search/tweets.json"; word = Uri.EscapeUriString(word); requestUrl += "?q=" + word; requestUrl += "&count=" + count.ToString(); if (oldTweet != null) { if (oldTweet.state == AdvancedTweet.States.Retweeted) { oldTweet = new AdvancedTweet(oldTweet.source, accessToken); } requestUrl += "&max_id=" + oldTweet.tweet.id_str; } OAuthClient client = new OAuthClient(accessToken); HttpResponseMessage response = new HttpResponseMessage(); try { response = await client.GetAsync(requestUrl); } catch (Exception ex) { throw new Exception("ネットワークエラーでタイムラインを取得できません", ex); } if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); return(MyJsonConverter.DeserializeSearchResult(json, accessToken)); } else { throw new Exception("レスポンスメッセージのStatusCodeがSuccessではありません。"); } }
public void Start() { /* * Start up Reflection */ // create two objects Clerk c = new Clerk("Mia", 1988, new string[2] { "EASY", "Reception" }); Manager m = new Manager("Per", 1964); m.Employees.Add(c); m.Employees.Add(new Manager("Michael", 1955)); // printout Clerk Console.WriteLine(); Console.WriteLine("Start with clerk"); Console.WriteLine(); Console.WriteLine(c); TryReflection(c); // printout Manager Console.WriteLine(); Console.WriteLine("Then comes manager"); Console.WriteLine(); Console.WriteLine(m); TryReflection(m); /* * Serializing */ Console.WriteLine(); Console.WriteLine(" ===> Serializing <==="); Console.WriteLine(); // class with simple property types TestVarClass tvc = new TestVarClass(2000000000, -32000, 5000000000, 255, 't', true, "peter"); string jsonSimpleTypes = JsonConvert.SerializeObject(tvc); Console.WriteLine(jsonSimpleTypes); string jsonSimpleTypes2 = MyJsonConverter.Serialize(tvc); Console.WriteLine(jsonSimpleTypes2); // class with object property type AnotherTestClass atc = new AnotherTestClass() { InnerClass = new TestVarClass(30, 30, 30, 30, 'r', false, "anewObject") }; string jsonObjectTypes = JsonConvert.SerializeObject(atc); Console.WriteLine(jsonObjectTypes); string jsonObjectTypes2 = MyJsonConverter.Serialize(atc); Console.WriteLine(jsonObjectTypes2); // Class with List of strings - Clerk String jsonListStrings = JsonConvert.SerializeObject(c); Console.WriteLine(jsonListStrings); Console.WriteLine(MyJsonConverter.Serialize(c)); // Class with List of objects - Manager String jsonListObjects = JsonConvert.SerializeObject(m); Console.WriteLine(jsonListObjects); Console.WriteLine(MyJsonConverter.Serialize(m)); // Class with list of lists TestListInListClass tc = new TestListInListClass(); tc.ListClerks.Add(new List <Clerk>() { new Clerk("df", 1999, new string[] { "hej", "davs" }) }); tc.ListClerks.Add(new List <Clerk>() { new Clerk("dif", 2011, new string[] { "hej", "davs" }) }); tc.ListClerks.Add(new List <Clerk>() { new Clerk("fd", 2001, new string[] { "hej", "davs" }) }); Console.WriteLine(JsonConvert.SerializeObject(tc)); Console.WriteLine(MyJsonConverter.Serialize(tc)); /* * Deserializing */ Console.WriteLine(); Console.WriteLine(" ===> Deserializing <==="); Console.WriteLine(); // Simple types as properties TestVarClass tc2 = MyJsonConverter.Deserialize <TestVarClass>(jsonSimpleTypes); Console.WriteLine(tc2); // Object type as property AnotherTestClass atc2 = MyJsonConverter.Deserialize <AnotherTestClass>(jsonObjectTypes); Console.WriteLine(atc2); // clerk with list of strings //Clerk newClerk = MyJsonConverter.Deserialize<Clerk>(jsonListStrings); //Console.WriteLine("Deserialized clerk: " + newClerk); // Manager with list of objects //Manager newManager = MyJsonConverter.Deserialize<Manager>(jsonListObjects); //Console.WriteLine("Deserialized Manager: " + newManager); }