Читаешь СМС - получаешь деньги! 1 рубль за 1 СМС

Я ищу
в возрасте от до
страна
знакомства

Вконтакте - Документация Api

Новое поколение интернет общения!
Старперов, малолеток и тормозов просьба не беспокоить!

 Как это работает?

Вы можете загрузить любое приложение Adobe Flash формата .SWF и использовать API
ВКонтакте для хранения любых переменных и обмена информацией с серверами ВКонтакте.

Ваши приложения также смогут обращаться к любым другим серверам.
Для реализации большинства востребованных приложений (игры, чаты, тесты, системы IM)
достаточно обмена переменными с серверами ВКонтакте.

 

Какие переменные передаются SWF-файлу при включении его в HTML-код ВКонтакте?

Посредством flashvars передается 3 переменные:

  • viewer_id – это id пользователя, который просматривает приложение.
  • user_id – это id пользователя, со страницы которого было запущено приложение.
  • group_id – это id группы, со страницы который было приложение.

 

Каким образом осуществляется взаимодействие между моим приложением и ВКонтакте?

Cтруктура взаимодействия:

HTTP-запрос (POST или GET) от приложения к http://api.vkontakte.ru/api.php

↑↓

Ответ от http://api.vkontakte.ru/api.php для приложения в виде XML или JSON

Пример запроса:

http://api.vkontakte.ru/api.php?api_id=4&method=getVariable&key=0&sig=b92b6a3b9d64f823ece6544425ffb75d

Из чего состоит этот запрос:

  • api_id – идентификатор приложения, присваивается при создании.
  • method – метод, которому передается параметр key.
  • key – параметр, с которым вызывается method.

В данном случае API получает запрос getVariable(0) (”вернуть значение переменной под номером 0“)

sig – это подпись, которая создается в целях безопасности.
sig равен md5 от конкатенации следующих строк:

  • viewer_id – id текущего пользователя, переданный SWF посредством flashvars при инициализации.
  • пар “parameter_name=parameter_value“, расположенных в порядке возрастания имени параметра.
  • секрета приложения api_secret (секрет Вы можно менять при редактировании страницы приложения).

sig = md5(viewer_idname1=value1name2=value2secret)

В данном случае sig равен md5(”35718api_id=4key=0method=getVariablesecret”) то есть b92b6a3b9d64f823ece6544425ffb75d

Пример ответа:

<response>1205887037</response>

Ответ по умолчанию приходит в формате XML в кодировке UTF-8.
В данном случае ответ содержит значение переменной под номером 0, то есть 1205887037.

Если же приходит сообщение об ошибке, то ответ мог бы выглядеть, например, следующим образом:

<error>Incorrect signature</error>

 

Какие параметры обязательны при составлении HTTP-запроса?

api_id, method и sig – обязательные параметры.

 

Какие параметры необязательны при составлении HTTP-запроса?

  • session – номер сеанса (целое число, по умолчанию 0). Полезен при создании чатов и многоигроковых игр.
  • test_mode – если этот параметр равен 1, разрешает тестовые запросы к данным приложения. При этом аутентификация не проводится и считается, что текущий пользователь - это автор приложения. Это позволяет тестировать приложение без загрузки его на сайт. По умолчанию 0.
  • format – xml или json. По умолчанию - xml.

 

Какие основные методы доступны для использования?

В данный момент существует 2 основных метода:

putVariable - помещает в переменную, номер которой задан в параметре key (0-4095), значение, переданное в параметре value (строка в utf-8, не более 255 байтов).

Запрос:

http://api.vkontakte.ru/api.php?
api_id=4&method=putVariable&key=239&value=hello&sig=0d688aed97de57427f3fbfaa1e641ea0

При успешном присваивании переменной сервер вернет пустой ответ <response/>, в случае ошибки будет возвращено ее описание. Обратите внимание, что коды ошибок не используются.

getVariable - возвращает значение переменной, номер которой задан в параметре key (0-4095).
Пример использования getVariable был дан выше.

 

Как хранятся переменные, вызываемые методом getVariable?

Каждому экземпляру приложения доступно до 4096 переменных (0-4095), в каждой из которых можно хранить строку из не более чем 255 байтов. Для каждого приложения (идентифицируемого api_id) эти переменные уникальны. Переменные инициализируются пустой строкой.

Тип Номера Область
global_vars 0 – 1023 Зависят только от api_id.
Общие для всех экземпляров приложения.
user_vars 1024 – 2047 Зависят от api_id и user_id - id пользователя, запустившего приложение. У различных пользователей, запустивших данное приложение, будут свои копии этих переменных. Однако если один и тот же пользователь запустит сразу несколько копий одного и того же приложения, эти переменные у них будут общими.
session_vars 2048 – 3071 Зависят от api_id и session - целочисленного идентификатора сеанса (комнаты), передаваемого в параметре запроса session. Иначе говоря, в каждой комнате (сеансе) эти переменные свои. Один и тот же пользователь не может одновременно участвовать более чем в четырех сеансах. Пользователь считается подключившимся к сеансу, как только он совершил запрос с соответствующим параметром session.
instance_vars 3072 – 4095 Зависят от api_id, user_id и session.

Переменные делятся на те, что хранятся на сервере вечно и те, что хранятся во временной памяти и могут быть стерты по истечении часа. Все переменные 0-1535 – постоянные, 1536-4095 – временные.
Во временных переменных можно хранить до 4095 байтов.

Переменные с номерами 0-15, 1024-1039, 1280-1295, 2048-2063 зарезервированы.

Они всегда содержат следующие значения:

  • 0 – unixtime на сервере
  • 1280 – id текущего пользователя (только чтение)
  • 1281 – имя текущего пользователя (только чтение)
  • 2048 – номер текущего сеанса/комнаты (только чтение)
  • 2049 – название текущего сеанса/комнаты (чтение и запись)

Часть переменных каждого пользователя доступна на чтение из-под других пользователей.
Это переменные 1280-1791.

Номер нужного пользователя передается в параметре запроса user_id.

 

Какие еще методы существуют?

getServerTime - обертка для getVariable(0).

getUserInfo - обертка для getVariable(1280) и getVariable(1281).

getMessages + sendMessage - используют переменные 2064, 3072, 2080-2207 для организации простой циклической очереди сообщений, удобной, например, для реализации чата.

  • Переменная 2064 хранит общее количество сообщений, уже записанных в очередь.
  • Переменная 3072 - количество сообщений, прочитанных текущим пользователем.
  • Переменная 2080+(i mod 128) содержит i-ое сообщение.
    (i больше или равно 0; в этой переменной хранится строка с id пользователя, временем отправки сообщения, именем пользователя и текстом сообщения, разделенными символом с кодом 31).

sendMessage - добавляет сообщение, переданное в параметре message, в очередь.

getMessages - возвращает все сообщения, еще не прочитанные пользователем.
Если в необязательном параметре messages_to_get передано положительное число, возвращается указанное количество последних сообщений, даже если они уже были прочитаны пользователем.

getHighScores + setUserScore – используют глобальные переменные 16, 17 и 32 .. 32+max_scores-1 для организации глобальной таблицы рекордов, что удобно для приложений-игр.

  • Переменная 16 хранит текущее количество записей в таблице рекордов.
  • Переменная 17 - максимальное количество записей в таблице рекордов (max_scores).
  • Переменные, начиная с 32-й, хранят саму таблицу – каждая переменная содержит три поля
    score, user_id и user_name, разделенные символом с кодом 31.

getHighScores - возвращает текущую таблицу результатов в формате XML.

setUserScore - добавляет в таблицу результат текущего пользователя, переданный в параметре score. При этом новый результат добавляется в таблицу, а если она уже заполнена – вытесняет наименьший из имеющихся, если он меньше добавляемого.

 

Существуют ли примеры исходных кодов приложений?

Мы подготовили для Вас исходные коды двух базовых приложений:

 

Смогут ли злоумышленники декомпилировать мой SWF-код?

Теоретически можно декомпилировать все, что угодно. Однако Вы можете усложнить эти процессы путем обфускации. Вы также можете использовать собственные серверные мощности, чтобы усложнить верификацию. Мы рекомендуем создавать такие приложения, которые бессмысленно декомпилировать или взламывать.

 

Что будет дальше?

Данная версия API – первоначальная, но уже она позволит реализовать практически все востребованные приложения. В будущем будет введен универсальный метод Execute, который потенциально сможет заменить все остальные методы и даст еще больше возможностей разработчику. Кроме того, ничего не мешает в будущем использовать API вне Flash-приложений.

В то же время, мы не рекомендуем ждать момента расширения платформы. Уже нынешние возможности ограничены только Вашим желанием создавать интересные приложения, которые смогут использовать миллионы людей.

Взято с http://vsociale.ru/vkontakte/37

Метки записи: , , , , , , , ,

Схожие записи

Опубликовано 09.04.2008 в 9:20. В рубриках: Vkontakte News, СоцСети, Утилиты, всё что вконтакте. Вы можете следить за ответами к этой записи через RSS 2.0. Вы можете оставить отзыв или трекбек со своего сайта.

Отзывов (4) на «Вконтакте - Документация Api»

  1. lesnoyduh пишет:

    Help!!!! На работе отключили контакт… можно как нибудь обойти запрет? Подскажите…пли-и-з…

  2. adsasd пишет:

    Уебан блять, налепи свои баннеры себе на ебало, дятел галимый.

  3. Арсен пишет:

    .

    Полезно знать http://tourequip.ru/record-41.html

  4. Богдан пишет:

    .

    Премьера кинофильма: скачать фильм 22 пули / L’immortel онлайн

Оставьте свой отзыв

 


Недавние сообщения

Недавние комментарии

  • Дарья: я ввожу все и пароль и почту правильно. а он все равно пишет...
  • сергей: уважаемый павел дуров как востановить страничку в контакте м...
  • maxim: Мені дуже сподобався цей сайт!!!...
  • NothepotSmero: Автору спасибо, продолжайте нас радовать!...
  • adsasd: Уебан блять, налепи свои баннеры себе на ебало, дятел галимы...
  • undusaideogue: Порядок!...
  • Alex: НАРОД!!!могу помочь пострадавшим и любопытным вернуть и посм...
  • Володимир: А мене зломали...тепер при вході просить відправити смс ,та ...
  • МИША: у меня что то с контактом случилось требует активации через ...
  • pivo: У вас RSS в кривой кодировке!...