Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Vkontakte API проблема с методом status set, incorect signature 
:(
    Опции темы
NetWorm
  Дата 13.11.2010, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.9.2005
Где: Karaganda

Репутация: нет
Всего: нет



Код

http://api.vkontakte.ru/api.php?api_id=" + aplid + "&method=activity.set&format=XML&v=3.0&sig=" + siginmd5 + "&sid=" + sid + "&text=" + statustext

Так выглядит запрос, отвечает что неверная подпись, она выглядит вот так:
Код

sig = mid + "api_id=" + aplid + "format=XMLmethod=status.settext="+statustext+"v=3.0" + secret

Кто работал с Апи вконтакте прошу не останьтесь равнодушны, заранее спасибо
PM MAIL WWW ICQ   Вверх
Ky7m
Дата 13.11.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 8.4.2008

Репутация: 1
Всего: 2



А md5 от (mid + "api_id=" + aplid + "format=XMLmethod=status.settext="+statustext+"v=3.0" + secret) считаешь?
PM MAIL ICQ   Вверх
NetWorm
Дата 13.11.2010, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.9.2005
Где: Karaganda

Репутация: нет
Всего: нет



Ky7m, да
PM MAIL WWW ICQ   Вверх
Ky7m
Дата 14.11.2010, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 8.4.2008

Репутация: 1
Всего: 2



Писал одно время, посмотри мой код:
Код

public struct vkApiRequest
    {
        public string api_id;    
        public string method;
        public string sig;
        public string version;
        public string format;
        public string sid;
        public string mid;
        public string secret;
    }

    class vkApiManager
    {
        private vkApiRequest CurrentApiRequest;
        public vkApiManager(string mid,string sid, string secret)
        {
            CurrentApiRequest.api_id = "api_id=194932"; // <---------------Укажи свой ApplicationID
            CurrentApiRequest.version = "v=3.0";
            CurrentApiRequest.format = "format=xml";
            CurrentApiRequest.mid = mid;
            CurrentApiRequest.sid = "sid="+sid;
            CurrentApiRequest.secret = secret;
        }

        private string MD5Hash(string instr)
        {
            string strHash = string.Empty;

            foreach (byte b in new MD5CryptoServiceProvider().ComputeHash(Encoding.Default.GetBytes(instr)))
            {
                strHash += b.ToString("X2");
            }
            return strHash.ToLower();
        } 
        private string CreateSignature(string param)
        {
          
            string ForSign = CurrentApiRequest.mid;
            ForSign += CurrentApiRequest.api_id;
            ForSign += param;
            ForSign += CurrentApiRequest.format;
            ForSign += CurrentApiRequest.method;
            ForSign += CurrentApiRequest.version;
            ForSign += CurrentApiRequest.secret;

            return MD5Hash(ForSign);
        }
        
        public string GetFriendsWithInfo()
        {

            StringBuilder request_content = new StringBuilder();

            CurrentApiRequest.method = "method=friends.get";
            const string param = "fields= nickname, sex, bdate, city, photo";
            
            request_content.Append("http://api.vkontakte.ru/api.php?");
            request_content.Append(CurrentApiRequest.api_id);
            request_content.Append("&"+param+"&");
            request_content.Append(CurrentApiRequest.format);
            request_content.Append("&");
            request_content.Append(CurrentApiRequest.method);
            request_content.Append("&");
            request_content.Append(CurrentApiRequest.sid);
            request_content.Append("&");
            request_content.Append("sig=" + CreateSignature(param));
            request_content.Append("&");
            request_content.Append(CurrentApiRequest.version);


            HttpWebRequest request = HttpWebRequest.Create(request_content.ToString()) as HttpWebRequest;
            request.Method = "POST";

            request.AllowAutoRedirect = false;


            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            StreamReader myStreamReader = new StreamReader(response.GetResponseStream());
            
            string ret = myStreamReader.ReadToEnd();
            
            response.GetResponseStream().Close();

            return ret;

        }
    }


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.