/** * Some dummy data used for testing -- probably refactor this to a Unit Test at some point ***/ public void GenerateDummyData() { ChatterFeedDataSource chatterFeedDataSource = (ChatterFeedDataSource)App.Current.Resources["chatterFeedDataSource"]; if (chatterFeedDataSource != null) { ChatterFeedItem feedItem1 = new ChatterFeedItem(); feedItem1.Id = "sdfkldjskldfsjhkdfshj"; feedItem1.Title = feedItem1.Content = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam"; feedItem1.AuthorName = "Barack Obama"; feedItem1.GroupName = "Mobile"; feedItem1.CreatedDate = "2012-10-01T16:24:29.000Z"; chatterFeedDataSource.Items.Add(feedItem1); ChatterFeedItem feedItem2 = new ChatterFeedItem(); feedItem2.Id = "dsfdfsf32sdfsdfdsf"; feedItem2.Title = feedItem2.Content = "Test Test Test Test"; feedItem2.AuthorName = "Harry Houdini"; feedItem2.CreatedDate = "2012-10-01T16:24:29.000Z"; chatterFeedDataSource.Items.Add(feedItem2); } }
/** * Load the Chatter feed from the Chatter REST API, and add to the data source **/ private async void LoadChatterFeed() { SFDCRestApi sfdcRest = new SFDCRestApi(); // sfdcRest.GenerateDummyData(); ChatterFeedDataSource chatterFeedDataSource = (ChatterFeedDataSource)App.Current.Resources["chatterFeedDataSource"]; this.DefaultViewModel["Items"] = chatterFeedDataSource.Items; JObject responseObject = await sfdcRest.Request("GET", "chatter/feeds/news/me/feed-items?pageSize=100"); JArray responseItems = (JArray)responseObject["items"]; foreach (JObject itemObject in (JArray)responseObject["items"]) { Debug.WriteLine((string)itemObject["body"]["text"]); ChatterFeedItem feedItem = new ChatterFeedItem(); feedItem.Id = (string)itemObject["id"]; feedItem.Content = WebUtility.HtmlDecode((string)itemObject["body"]["text"]); feedItem.Title = WebUtility.HtmlDecode(StringUtil.TruncateAtWord(feedItem.Content, 50)); feedItem.AuthorName = WebUtility.HtmlDecode((string)itemObject["actor"]["name"]); feedItem.GroupName = WebUtility.HtmlDecode((string)itemObject["parent"]["name"]); feedItem.CreatedDate = ((DateTime)itemObject["createdDate"]).ToString(); feedItem.Image = (string)itemObject["actor"]["photo"]["largePhotoUrl"]+"?oauth_token="+SFDCSession.Instance.AccessToken; feedItem.Comments = new List<ChatterFeedItemComment>(); foreach (JObject commentObject in itemObject["comments"]["comments"]) { ChatterFeedItemComment feedItemComment = new ChatterFeedItemComment(); feedItemComment.AuthorName = WebUtility.HtmlDecode((string)commentObject["user"]["name"]); feedItemComment.Id = (string)commentObject["id"]; feedItemComment.Image = (string)commentObject["user"]["photo"]["largePhotoUrl"] + "?oauth_token=" + SFDCSession.Instance.AccessToken; feedItemComment.CreatedDate = ((DateTime)commentObject["createdDate"]).ToString(); feedItemComment.Content = WebUtility.HtmlDecode((string)commentObject["body"]["text"]); feedItem.Comments.Add(feedItemComment); } chatterFeedDataSource.Items.Add(feedItem); } }