Пост на стену, юзаем VkNet - C#

Узнай цену своей работы

Формулировка задачи:

Уже 3 день ломаю голову над тем, как правильно сделать пост на стену вк с помощью VkNet. Документацию толком не нашел по этой библиотеке, поэтому разобраться не получается. Вот код авторизации:
 string tokken;
        string userId;

        public void VkAuth()
        {
            ulong appID = 5804006;                      // ID приложения
            string email = textBox.Text;
            string pass = textBox2.Text;
            // пароль для авторизации
            Settings scope = Settings.All;
            try
            {
                var vk = new VkApi();
                vk.Authorize(new ApiAuthParams
                {
                    ApplicationId = appID,
                    Login = email,
                    Password = pass,
                    Settings = scope
                });
                textBox3.Text = vk.UserId.ToString();
                tokken = vk.Token;
                userId = vk.UserId.ToString();
                MessageBox.Show("ушло");
            }
 
            catch (VkApiAuthorizationException)
            {
                string mes = "Не верный логин или пароль";
                MessageBox.Show(mes);
            }
 
            catch (VkApiException)
            {
                string mes1 = "Неизвестная ошибка";
                MessageBox.Show(mes1);
            }
           
        }
Вот код , которым сначала пытался отправить пост на стену, пост отправлялся, но я не мог принять ответ сервера и его записать в переменную, чтобы дальше в другом методе использовать. Код был такой:
string mess = textBox4.Text;
        public void MAKEpost()
        {
            var vk = new VkApi();
            vk.Authorize(tokken);
            vk.Wall.Post( new WallPostParams
                  {
                    OwnerId = vk.userId,
                    Message = mess,
                  });
            MessageBox.Show("ушло на стену!")
        }
Я так и не додумался как вытащить postId, который возвращается от серва. Написал разрабу, он мне помог чуть, в итоге я переписал вот так:
long popo;

        public long MAKEpost(long OwnerId = userId, long Message = вот что сюда писать)
        {
           
            var vk = new VkApi();
            vk.Authorize(tokken);
            var paramPost = new VkParameters
                  {
                    {"owner_id", OwnerId },
                    {"Message", Message }
                  };
            MessageBox.Show("ушло на стену!");
            return popo = vk.Call("Wall.Post", paramPost)["post_id"];
        }
Но тут даж компилироваться не хочет, потому что пишет, у меня присвоение к параметрам MAKEpost должны быть константными, но они не могут ими быть, так как данные берутся из текстбоксов и обычных переменных. В общем у меня иссякли идеи, как сделать пост на стену и вернуть ответ в переменную.(ответ post_id приходит)

Решение задачи: «Пост на стену, юзаем VkNet»

textual
Листинг программы
var postId = vk.Wall.Post(...)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы