T
T
Tony13372017-05-21 17:32:45
In contact with
Tony1337, 2017-05-21 17:32:45

C# - How to display news on a form?

I am writing a program in C# (Windows Forms). I started to study the VK API, and it was necessary to display the news (NewsFeed.search) on the form. I have no idea how to do this, who worked with the VK API, I ask for your help, thanks in advance!
PS How the function works, I understand

Answer the question

In order to leave comments, you need to log in

1 answer(s)
U
Uncle Seryozha, 2017-06-03
@Protos

using System;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json.Linq;
using System.Diagnostics;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Net.Mail;
using System.Net.Mime;
//далее ваш класс,  допустим у вас есть кнопка и есть обработчик ее нажатия:
        private async void button1_Click(object sender, EventArgs e)
        {
            List<string> News = new List<string>();
            var json = JObject.Parse(await Download(string.Format("https://api.vk.com/method/newsfeed.get?v=5.64&access_token={0}&count={1}", Access_token, 10)));
            if (!json.ToString().Contains("error"))
            {
                posts = (JArray)json["response"]["items"];
                var query = from post in posts
                            select new
                            {
                                type = post["type"],//тип списка новости, соответствующий одному из значений параметра filters;
                                source_id = post["source_id"],//идентификатор источника новости (положительный — новость пользователя, отрицательный — новость группы);
                                date = post["date"],//время публикации новости в формате unixtime
                                text = post["text"],//находится в записях со стен и содержит текст записи;
                                post_id = post["post_id"]//идентификатор владельца стены, на которой размещена запись. 
//другие параметры по желанию
                            };
                foreach (var post in query)//перебираем новости и заносим в массив
                {
                    News.Add("type = "+post.type+
                        ", источник = "+ post.source_id +
                        ", дата публикации = " + UnixTimeToDate(Convert.ToDouble(post.date))+
                        ", текст новости = " + post.text +
                        ", идентификатор поста = " + post.post_id
                        );
                    //делаем что хотим
                }
                for (int i = 0; i < News.Count; i++)
                    Console.WriteLine(News[i]+Environment.NewLine);
            }
        }

public static DateTime UnixTimeToDate(double unixTimeStamp)
        {
            return new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddSeconds(unixTimeStamp).ToLocalTime();
        }

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question