forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Нужна помощь с ВК API (http://forum.boolean.name/showthread.php?t=17776)

Nikich 20.01.2013 23:49

Нужна помощь с ВК API
 
В общем, требуется сделать что-то вроде чата, используя ВК. Ничего подобного никогда не делал, так что даже не знал с чего начать. Погуглив, нашёл интересную статейку на хабре. Подумав, что это именно то, что мне нужно взялся за изучение и копипасту. Дело остановилось на
Код:

        public static string GetToken(string Code)
        {
            string reqStrTemplate =
              "https://api.vkontakte.ru/oauth/access_token?client_id={0}&client_secret={1}&code={2}";

            string reqStr = string.Format(reqStrTemplate, Vk_AppID, Vk_Secret, Code);

            WebClient webClient = new WebClient();
            string response = webClient.DownloadString(reqStr);

            JavaScriptSerializer s = new JavaScriptSerializer();
            VkJsonTokenResponse jsonResponse = s.Deserialize<VkJsonTokenResponse>(response);
            Token = jsonResponse.access_token;
            SaveTokens();
            return Token;
        }

.
а точнее на строчке "JavaScriptSerializer s = new JavaScriptSerializer();". Visual Studio не хотела определять JavaScriptSerializer. После очередного рейда гугла было обнаружено, что фичи на родненькой ХР нету:''(( Пруф. Что посоветуете делать? Чем это можно заменить?
P.S. Возможно, у кого-то есть примеры реализации хоть какого-нибудь standalone приложения с ВК API, буду признателен.

seaman 21.01.2013 00:29

Ответ: Нужна помощь с ВК API
 
using System.Web.Script.Serialization;
ну и в проект добавить ссылку на сборку System.Web.Extensions.dll

Nikich 21.01.2013 12:23

Ответ: Нужна помощь с ВК API
 
Фух, наконец разобрался. Теперь возникла новая проблема.
Я получаю историю сообщений как .xml файл. Парсить его получилось. Беда в том, что кодировка не поддерживает русские символы, в результате чего получаем уенно Рё пиздато РґРѕРјР° утром пред РєРѕРјРїРѕРј. Можете подсказать, как можно перевести этот бред на родной русский?

pax 21.01.2013 13:56

Ответ: Нужна помощь с ВК API
 
ну копай в сторону System.Text.Encoding

Nikich 21.01.2013 14:10

Ответ: Нужна помощь с ВК API
 
Код:

                Encoding code1 = Encoding.UTF8;
                Encoding code2 = Encoding.GetEncoding(1251);
                var Bytes = code1.GetBytes((string)element.Element("body"));
                string String = code2.GetString(Bytes);
                MessageBox.Show(String);

Всё вроде бы логично, однако не работает. В чём может быть проблема?

pax 21.01.2013 14:19

Ответ: Нужна помощь с ВК API
 
а если наоборот?

Nikich 21.01.2013 14:23

Ответ: Нужна помощь с ВК API
 
Действительно, наоборот заработало. Огромное спасибо!
А можно узнать, почему? Мы же получается в ту же кодировку всё возвращаем, нет?

pax 21.01.2013 14:26

Ответ: Нужна помощь с ВК API
 
Нет, пришло 1251, ты получаешь utf8 с которым по умолчанию работает string в С#


Часовой пояс GMT +4, время: 21:44.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot