// GET api/TweetBlog
        public async Task<List<RssItem>> Get()
        {
            var rssReader = new HateBloRssReader(new Uri("http://blog.nakajix.jp/rss"));

            // 過去36時間内に投稿したものを対象にする
            var items = await rssReader.GetRssItemsAsync(
                                    DateTime.Now.AddHours(-36),
                                    DateTime.Now
                                    );

            var twitterHelper = new TwitterHelper();
            try
            {
                if (items.RssItems.Count == 0)
                {
                    var message = string.Format(MessageNoBlog, (DateTime.Now - items.LastPubDate.Value).Days);
                    await twitterHelper.UpdateStatusAsync(message);
                    return null;
                }

                foreach (var rssItem in items.RssItems)
                {
                    var message = string.Format(MessageTemplate, rssItem.Title, rssItem.Link);
                    await twitterHelper.UpdateStatusAsync(message);
                }
                return items.RssItems;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
Beispiel #2
0
        // GET api/TweetPv
        public async Task<string> Get()
        {
            // アプリケーションの設定方法の詳細については、http://go.microsoft.com/fwlink/?LinkID=316888 を参照してください

            var twitterHelper = new TwitterHelper();
            try
            {
                var pv = await Analytics.GetPvAsync();
                var message = string.Format("昨日のなか日記のPVは{0}でした http://nakaji.hatenablog.com/", pv);
                await twitterHelper.UpdateStatusAsync(message);

                return message;
            }
            catch(Exception ex)
            {
                return ex.ToString();
            }
        }