Beispiel #1
0
        /// <summary>
        /// Получение фотографий из альбома
        /// </summary>
        /// <param name="str">Ссылка на альбом массив</param>
        public static void GetPhoto(string[] str)
        {
            JObject jObject = JObject.Parse(Vkapi.Get("photos.get", string.Concat(new object[]
            {
                "owner_id=",
                str[0],
                "&album_id=",
                str[1],
                "&extended=1&offset=",
                Offset
            })));
            JArray jArray = JArray.Parse(jObject["response"]["items"].ToString());

            for (int i = 0; i < jArray.Count; i++)
            {
                string text = jObject["response"]["items"][i]["text"].ToString();
                if (text.IndexOf("vk.com", StringComparison.Ordinal) >= 0)
                {
                    ListAdd(jObject["response"]["items"][i], text);
                }
                else
                {
                    if (int.Parse(jObject["response"]["items"][i]["comments"]["count"].ToString()) > 0)
                    {
                        List <Photo.Comment> comments;
                        text = PhotosGetComments(jObject["response"]["items"][i]["owner_id"].ToString(), jObject["response"]["items"][i]["id"].ToString(), out comments);
                        if (text.Length > 0)
                        {
                            ListAdd(jObject["response"]["items"][i], text, comments);
                        }
                    }
                }
                allcount++;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Просмотр комментарий у фото
        /// </summary>
        /// <param name="ownerId">id владельца</param>
        /// <param name="photoId">id фото</param>
        /// <returns>Комментарий с ссылкой</returns>
        public static string PhotosGetComments(string ownerId, string photoId, out List <Photo.Comment> comments)
        {
            Thread.Sleep(500);
            string param = string.Concat(new string[]
            {
                "owner_id=",
                ownerId,
                "&photo_id=",
                photoId,
                "&count=100",
                "&extended=1",
            });

            JObject jObject     = JObject.Parse(Vkapi.Get("photos.getComments", param));
            int     num         = jObject["response"]["count"].Value <int>();
            string  lastComment = string.Empty;
            var     profile     = jObject["response"]["profiles"];
            var     group       = jObject["response"]["groups"];

            comments = new List <Photo.Comment>();
            for (int i = 0; i < num; i++)
            {
                var    comm    = jObject["response"]["items"][i];
                string text    = comm["text"].ToString();
                var    user    = profile.SelectToken("$.[?(@.id == " + comm["from_id"] + ")]") ?? group.SelectToken("$.[?(@.id == " + Math.Abs(comm["from_id"].Value <int>()) + ")]");
                var    comment = (user["first_name"] != null) ? new Photo.Comment(user["first_name"].ToString(), user["last_name"].ToString(), text)
                    : new Photo.Comment(user["name"].ToString(), "", text);
                if (text.IndexOf("vk.com", StringComparison.Ordinal) >= 0)
                {
                    lastComment = text;
                }
                comments.Add(comment);
            }
            return(lastComment);
        }
Beispiel #3
0
        /// <summary>
        /// Парсинг альбома
        /// </summary>
        /// <param name="str">Ссылка на алььбом мыссив где [0] - id владельца, [1] - id альбома</param>
        public static void Parsing(string[] str)
        {
            JObject jObject = JObject.Parse(Vkapi.Get("photos.get", string.Concat("owner_id=", str[0], "&album_id=", str[1], "&count=1")));

            if (jObject["error"] != null)
            {
                switch (jObject["error"]["error_code"].Value <int>())
                {
                case 100:
                    MessageBox.Show("Один из пармметров не верен");
                    break;

                case 200:
                    MessageBox.Show("нет доступа к альбому");
                    break;
                }
                Th.Abort();
            }

            count = jObject["response"]["count"].Value <int>();
            double num  = Math.Ceiling(count / 1000.0); //вычесляем количество повторов вызова так макс фотополучение 1000 то делим коли на 1000 и округляем в большую сторону, чтобы выполнилось хотя бы один раз
            int    num2 = 0;

            while (num2 < num)
            {
                GetPhoto(str);
                Offset += 1000;
                num2++;
            }
        }
Beispiel #4
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            AuthForm autch = new AuthForm();

            autch.ShowDialog();
            label4.Text = User.Default.Id.ToString();
            Vkapi.Get("stats.trackVisitor", "");
        }