For those you read this question later on I was able to solve this problem. Below are my answers depending on your situation.
If you simply want to use Json instead of RSS you can do it like this:
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(new Uri("https://api.twitter.com/1/statuses/user_timeline.json?screen_name=ScreenName"));
string ApiResponse = await response.Content.ReadAsStringAsync();
List<Tweet> tweets = await JsonConvert.DeserializeObjectAsync<List<Tweet>>(ApiResponse);
_model.Tweets.Clear();
foreach (var item in tweets)
{
_model.Tweets.Add(new Tweet
{
Name = "@UserName",
Message = item.Text,
Image = new BitmapImage(new Uri("ms-appx:Assets/sampleLocalImage", UriKind.RelativeOrAbsolute)),
});
However because of API 1.1 you must be authenticated before EACH call to the API for this is used Linq to Twitter. Here is the code for Authorization:
var auth = new SingleUserAuthorizer
{
Credentials = new InMemoryCredentials
{
ConsumerKey = TwitterSettings.ConsumerKey,
ConsumerSecret = TwitterSettings.ConsumerKeySecret,
OAuthToken = TwitterSettings.AccessToken,
AccessToken = TwitterSettings.AccessTokenSecret,
}
};
auth.Authorize();
And the Code to Perform a Search(This is the code you want to use if using Twitter API 1.1):
var twitterCtx = new TwitterContext(auth);
var statusTweets =
from tweet in twitterCtx.Status
where tweet.Type == StatusType.User
&& tweet.ScreenName == "ScreenName"
select tweet;
_model.Tweets.Clear();
foreach (var item in statusTweets)
{
_model.Tweets.Add(new Tweet
{
Name = item.User.Name,
Message = item.Text,
Image = new BitmapImage(new Uri(item.User.ProfileImageUrl)),
});