sonyps4.ru

Создание приложения вконтакте iframe. Пишем простое iframe приложение по просмотру общих участников и друзей, с функционалом достаточным для попадания в каталог приложений

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

Приложения ВК

В ВК есть масса приложений, которые, как они утверждают, способны показать гостей вашей страницы. Перед написанием этой страницы нами были протестированы несколько подобных приложений. Показывают ли они гостей?

Если даже и показывают, то поверить в это, скажем так, сложновато. Почему? Когда вы устанавливаете приложение и заходите в список гостей, то видите знакомые и не очень лица. Но если более подробно ознакомиться со списком пользователей, что посетили вашу страничку, то выяснится, что это все те же самые лица, которые лайкнули ваши записи или фотографии, поэтому утверждать, что они при этом заходили на вашу страницу, нельзя. Более того, некоторые приложения показывают даже дату якобы входа на вашу страницу, которая которая подозрительным образом совпадает с датой поставленного лайка.

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

Как узнать, кто заходил на мою страницу ВКонтакте?

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

Итак, что мы делаем? Первым делом заходим в «Мои настройки», вкладка «Общее».

Опускаем страницу в самый низ. Здесь вы можете увидеть ссылку вида «Вы можете удалить свою страницу». Нажимаете на нее. Не переживайте, так просто свою страницу вы удалить не сможете.

Перед вами откроется новая страница, где вы должны выбрать причину для удаления вашей страницы. Их всего шесть:

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

Ставите галочку рядом с пунктом «Мою страницу не комментируют» и видите примерно следующее:

Да-да, перед вами пользователи, которые чаще всего посещают вашу страничку. Но постойте, это еще не все! Нажмите еще раз F5 на своей клавиатуре, что бы страничка обновилась, и вновь поставьте галочку рядом с пунктом «Мою страницу не комментируют» — вы увидите других пользователей, которые не менее часто заходят к вам на страницу!

И так можно обновлять несколько раз, пока система не покажет всех наиболее популярных гостей вашей страницы. А главное, что все это можно сделать без использования приложений и прочего стороннего софта. Да, страничку удалять не нужно — после проделанных действий просто закройте ее.

Ловушка для гостей

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

Устанавливается она просто. Ищем приложение, которое позволяет пользоваться ловушкой. Например, приложение «Мои гости». Запускаем его, нажимаем «Мой профиль» и активируем ловушку для гостей.

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

Сторонние программы

А вот программами, которые уверяют, что с их помощью вы сможете увидеть всех гостей и которые в обилии можно найти в интернете, мы пользоваться не рекомендуем. Помимо наличия вредоносных файлов они могут опустошить ваш кошелек. Например, при установке потребуют отправить якобы бесплатное СМС-сообщение, которое на деле платное и отнюдь недешевое. Сама же программа окажется пустышкой.

В общем, мы вас предупредили.

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

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

Поэтому мы рассмотрим те способы, которые действительно позволяют видеть гостей своей страницы, но при этом не несут в себе никакой опасности.

1. Приложение «Мои гости»

Данное приложение для ВКонтакте позволяет видеть, кто заходил на Вашу страницу, и когда это было.

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

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

Несмотря на это, приложение действительно работает.

Чтобы воспользоваться ним, сделайте следующее:

  • Перейдите на страницу приложения , авторизуйтесь. Оно запустится.
  • После этого Вам предстоит закрыть несколько рекламных блоков. Какие-то из них закрываются с помощью обычного крестика в правом верхнем углу. В каких-то нужно нажать на надпись, к примеру, «Не подписываться» или «Не помогать».
  • А дальше, собственно, и отобразится полный список людей, которые заходили на Вашу страницу. Как видим, удобно то, что под каждым человеком показывается время, когда он или она посещала страницу. Видим мы и тех непонятных личностей, под которым не указана дата посещения. Вместо этого есть надписи вроде «Добавить в друзья» или «Как она тебе». Это и есть те самые люди, которые платят за то, чтобы попасть на эти места. Некоторые из них являются рекламными блоками какого-то другого приложения, а некоторые – просто боты. Такие пользователи на рисунке №1 отмечены красной линией, а настоящие люди – зеленой.

В данном приложении есть возможность поймать больше гостей. Это значит, что Вы можете привлечь больше людей на свою страницу.

Для этого сделайте следующее:

Пост на стене будет выглядеть так, как показано на рисунке №3.

2. Приложение «Мои гости и поклонники»

Еще одно приложение, которое действительно может отслеживать тех, кто посещал Вашу страницу.

Чтобы им воспользоваться, сделайте вот что:

Важно! Не используйте фейковые приложения.

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

Называться они могут по-разному – «Гости моей страницы», «Посетители» и так далее. Поэтому лучше пользоваться теми двумя приложениями, которые показаны выше.

3. Приложение «MyVk Гости и Друзья Вконтакте» для Android

Это приложение позволяет просматривать список гостей с телефона или планшета на платформе Андроид. Опять же, есть и другие подобные программы, но MyVk – самое популярное и самое работающее.

Чтобы воспользоваться ним, выполните такие действия:

Как видим, все предельно просто и понятно. При этом отображаются реальные люди, а не фейки.

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

5. Расширения для браузеров

Существует два расширения для браузеров, которые также позволяют просматривать гостей так же, как и остальные сведения (друзья, фотографии и так далее).

К примеру, для Google Chrome есть дополнение «Гости ВКонтакте». Скачать его можно с официального магазина расширений (вот ссылка). После установки и авторизации на панели слева появится страница «Гости».

Подобное расширение есть и для Mozilla Firefox. Называется оно «VKontakte - Кто Заходил? VK Статистика».

После скачивания (вот ссылка на официальный магазин дополнений к Мозилле), установки и перезагрузки браузера на панели слева появится раздел «Статистика». Когда Вы его откроете, то сможете на графиках посмотреть количество гостей и кто конкретно заходил на Вашу страницу. Очень удобная функция!

Если вы решите узнать, кто посещал вашу страницу, то увидите, что официального инструмента в ВК нет. По какой-то причине разработчики решили, что нам с вами не обязательно знать, были ли просмотры нашего профиля (см. ). Но с другой стороны, если мы активно пользуемся соц сетью, то получать обратную связь от аудитории просто необходимо. Так все-таки, видны ли гости в контакте, и можно ли их отследить ?

Какие есть варианты отслеживания гостей

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

А вариантов здесь совсем немного. Если быть точным — всего один. Вам нужно использовать приложение, которое позволит увидеть тех, кто побывал на вашей странице. Таких приложений довольно много, но принцип их работы один. Давайте разберем его на примере.

Приложение «Ваши гости и друзья»

Перейдите в раздел «Приложения» , и в поиске наберите «Гости» . Вы получите довольно большой список результатов.

Два варианта мы уже пробовали в работе:

Там все подробно описано, с картинками и видео.

Сейчас мы решили попробовать в действии «Ваши гости и друзья» . Приложение отлично справляется со своей основной функцией — без проблем позволяет отследить ваших посетителей. А что нам еще нужно?

На картинке ниже отмечен значок приложения. Видите, танцующие люди на синем фоне. Это именно то что нас интересует — нажимаем на него.

Вот так выглядит стартовое окно.

Давайте разбираться, можно ли отследить наших гостей. Ну раз вы читаете это руководство, то наверняка можно.

Для этого идем на вкладку «Гости» .

Здесь будет список людей, которые недавно заходили к вам. Вы увидите аватарку (см. ), имя пользователя, и время, как давно он был у вас. Все просто.

Если вы наведете курсор на аву, то появятся две ссылки: «перейти» , «посмотреть гостей» . С помощью первой вы можете поближе познакомиться с вашим гостем. А если нажмете на вторую — увидите, кто посещает его страницу.

Данные обновляются в режиме онлайн. Так что периодически заходите на страницу приложения, чтобы видеть, кто заходил к вам.

Заключение

Подводя итоги можно сказать, что нашу задачу по отслеживанию посетителей страницы вк, мы выполнили. Рассмотренное выше приложение — простой и удобный инструмент. Основную функцию отлично выполняет. А что еще нужно?

Вопросы?

Вконтакте

Пару дней назад, одна моя знакомая попросила помочь ей создать интернет-голосование, поскольку, функционала в Контакте не хватало (там можно создавать опрос только на 15 человек). Задачка оказалась интересной. Итак, за дело!

Кому может пригодиться данный пост:

Устанавливаем Joomla - там все довольно прозрачно и понятно.

Этап 3: JS API и «API в Контакте»

Что у нас на вооружении: свеженькое приложение в Контакте и только что созданный сайт на каком-нибудь стандартном шаблоне Joomla.

Тут сразу хочу обратить внимание на API в Контакте!

API существует 2 вида:

  1. Javascript API
  2. API в Контакте

С помощью первого можно вызывать разные диалоговый окна (приглашение друзей в приложение, зачисление голосов, установка доступа к пользовательским данным и т.д. подробное описание этих методов можно найти .

Возможности второго намного больше! Обращение к скрипту www.vkontakte.ru/api.php может производиться любым удобным способом будь то AJAX запрос или HTTP запрос напрямую с сервера. Описание всех методов api есть .

Теперь подробнее об инициализации api и работы с ними. Начнем по порядку:

JS API инициализируется добавлением в наш шаблон следующей яваскрипта:

src=http://vkontakte.ru/js/api/xd_connection.js?2

VK.init(function() {

// Your code here
});

Сразу хотелось бы заметить что «API initialization succeeded» эта строка здесь написана не зря и говорит о том, что функция VK.init выполнится, когда готово к работе API! Но не ваш web-ресурс. Для того что бы проверить готовность к выполнению вашего js кода, можно воспользоваться вашей любимой js-библиотекой или фереймворком. Лично я предпочитаю Mootools - им и воспользовался.

Мой код инициализации выглядит так:

VK.init(function() {
// API initialization succeeded
window.addEvent("domready", function(){
//DOM ready
})
});

Что теперь мы можем делать? А теперь мы можем использовать API то есть например проверить, выбрал ли пользователь требуемые параметры доступа приложения к его данным. Например так:

VK.api("getUserSettings", function(data){
if (data.response){
if (!(256 & data.response))
VK.callMethod("showSettingsBox", 263);
}
if (data.error){
alert("Error Code:"+data.error.error);
}
});

Для этого сначала вызовем функцию getUserSettings, которая вернет нам битовую маску настроек текущего пользователя. Вызов осуществляется с помощью метода VK.api, где первый параметр это название функции, а второй CallBack функция. Переменная data это результат работы функции getUserSettings, который нужно проверить на предмет ошибки, если вернулось data.error - значит ошибка! Ошибка может быть по двум (на мой взгляд) причинам: приложение не одобрено администрацией сайта (у меня до одобрения работало только getProfiles, кстати, я потом встречал записи на форумах что в тестовом режиме все работает). Если функция вернула data.response то продолжаем работу сверяем битовые маски текущих прав и требуемых и вызываем функцию JS API showSettingsBox с единственным параметром (маска требуемых прав, у меня 263 - это доступ к фотографиям, друзьям и сслыка на приложение в левом меню пользователя)

На мой взгляд вызывать методы «API в Контакте» с помощью JS API как-то не хорошо. Это удобно для простых задач. Полностью Iframe приложение построеное на JS это очень трудоемко. И поэтому переходим к изучению HTTP запросов к API.

Этап 4: PHP и «API в Контакте»

Для этого у нас есть Joomla и класс который забираем по ссылке

для работы с API через PHP потребуется создать две константы, будут включаться в каждый запрос это api_id вашего приложения (его видно прямо в адресной строке при переходе по ссылке на приложение) и секретный ключ - он выдается при создании приложения (он длинный и его можно изменить в настройках приложения)

вызов API средствами PHP выглядит следующим образом:

foreach ($this->items as $item){
$uids = $item->item;
}
$api = new vkapi();
$ans = $api->api("getProfiles", array("uids" => implode(",",$uids), "fields" => "photo, photo_big"));

Первый foreach берет всех зарегистрированных пользователей из моего приложения (но не более 1000), а далее выполняется запрос к «API в контакте» на загрузку данных об этих пользователях. На выходе имеем массив значений вида: $ans["response"][$i]["field"], где response - массив данных о пользователях, дальше $i элемент и наконец требуемое свойство пользователя field например first_name (имя) или photo.

Преимущества такого подхода:

1. Становятся доступными secure методы API, что не маловажно если нужно узнать баланс или зачисить/снять голоса.
2. Не нужно писать «тысячи» строк кода на JS для работы с API
3. Мы получаем легко-администрируемый сайт и приложение одновременно.

Что именно я делал в Joomla рассказывать очень долго и не нужно я только приведу примерную логику работы моего приложения.

Не для кого не секрет, что все компоненты Joomla базируются на MVC-паттерне. Который все раскладывает по полочкам!

Controller компонента принимает все команды/запросы пользователя (хоть на действия пользователя при переходе по ссылкам, хоть с помощью AJAX запросов c использованием JS)

Model отвечает за все операции с базой данных нашего компонента, у меня, например: выводит само голосование, списки проголосовавших за определенного участника голосования, отвечает на проверку и повторного голосования и еще несколько вспомогательных функций.

View управляет выводом различных Layout"ов и передачей в них данных из модели.

Тем кто занимался разработкой компонентов под Joomla все предельно ясно.

Никто не мешает нам использовать класс vkapi.class.php в любом месте приложения, лично я использовал его только во view для подготовки данных к выводу (например по uid пользователей в контакте, который поставили мое приложение, я подгружал адреса фотографий)

Этап 5: Виджеты

Уже все привыкли к огромному количеству различных форм и кнопочек из соц сетей. Мне тоже захотелось такую в своем Iframe приложении. Каким образом подключить виджет комментариев:

Ни в коем случае не добавляйте на страницу следующий код:

это подходит для сайтов, но не подходит для Iframe приложений!

Достаточно сделать вот так:

VK.Widgets.Comments("vk_comments", {limit: 10, width: "578", attach: "*"});

в JS API уже реализованы функции добавления виджетов.

Что касается самих комментариев то вы знаете, что когда пользователь оставляет свой комментарий на странице с приложением, на его стене он тоже публикуется, но ссылкой на ваш сайт, а не на приложение! Что бы этого избежать нужно использовать параметр pageURL в котором будет указан адрес приложения в формате www.vkontakte.ru/app {app_id}

В итоге у меня получилось так:

VK.Widgets.Comments("vk_comments", {limit: 10, width: "578", attach: "*", pageURL: "http://vkontakte.ru/app2176209"});

Этап 6: Вывод

На выходе имеем не сложное, но рабочее приложение в Контакте. Которое можно легко расширять и развивать добавляя новые и новые возможности и компоненты используя свою любимую CMS совместно с API в Контакте и JS API.

Спасибо за внимание, с уважением Данила.

P.S. Администрация одобрила приложение через день, попросив в залог 10 голосов.
P.P.S Через полтора часа после этого поступило уже несколько предложений о покупке! Сразу говорю не продается, не вижу смысла, теперь тем более!

6 марта 2011 в 14:13

Разработка IFrame приложения в Контакте, использование Vkontakte API

  • Разработка веб-сайтов

Устанавливаем Joomla - там все довольно прозрачно и понятно.

Этап 3: JS API и «API в Контакте»

Что у нас на вооружении: свеженькое приложение в Контакте и только что созданный сайт на каком-нибудь стандартном шаблоне Joomla.

Тут сразу хочу обратить внимание на API в Контакте!

API существует 2 вида:

  1. Javascript API
  2. API в Контакте

С помощью первого можно вызывать разные диалоговый окна (приглашение друзей в приложение, зачисление голосов, установка доступа к пользовательским данным и т.д. подробное описание этих методов можно найти .

Возможности второго намного больше! Обращение к скрипту www.vkontakte.ru/api.php может производиться любым удобным способом будь то AJAX запрос или HTTP запрос напрямую с сервера. Описание всех методов api есть .

Теперь подробнее об инициализации api и работы с ними. Начнем по порядку:

JS API инициализируется добавлением в наш шаблон следующей яваскрипта:

Src=http://vkontakte.ru/js/api/xd_connection.js?2

VK.init(function() {

// Your code here
});

Сразу хотелось бы заметить что «API initialization succeeded» эта строка здесь написана не зря и говорит о том, что функция VK.init выполнится, когда готово к работе API! Но не ваш web-ресурс. Для того что бы проверить готовность к выполнению вашего js кода, можно воспользоваться вашей любимой js-библиотекой или фереймворком. Лично я предпочитаю Mootools - им и воспользовался.

Мой код инициализации выглядит так:

VK.init(function() {
// API initialization succeeded
window.addEvent("domready", function(){
//DOM ready
})
});

Что теперь мы можем делать? А теперь мы можем использовать API то есть например проверить, выбрал ли пользователь требуемые параметры доступа приложения к его данным. Например так:

VK.api("getUserSettings", function(data){
if (data.response){
if (!(256 & data.response))
VK.callMethod("showSettingsBox", 263);
}
if (data.error){
alert("Error Code:"+data.error.error);
}
});

Для этого сначала вызовем функцию getUserSettings, которая вернет нам битовую маску настроек текущего пользователя. Вызов осуществляется с помощью метода VK.api, где первый параметр это название функции, а второй CallBack функция. Переменная data это результат работы функции getUserSettings, который нужно проверить на предмет ошибки, если вернулось data.error - значит ошибка! Ошибка может быть по двум (на мой взгляд) причинам: приложение не одобрено администрацией сайта (у меня до одобрения работало только getProfiles, кстати, я потом встречал записи на форумах что в тестовом режиме все работает). Если функция вернула data.response то продолжаем работу сверяем битовые маски текущих прав и требуемых и вызываем функцию JS API showSettingsBox с единственным параметром (маска требуемых прав, у меня 263 - это доступ к фотографиям, друзьям и сслыка на приложение в левом меню пользователя)

На мой взгляд вызывать методы «API в Контакте» с помощью JS API как-то не хорошо. Это удобно для простых задач. Полностью Iframe приложение построеное на JS это очень трудоемко. И поэтому переходим к изучению HTTP запросов к API.

Этап 4: PHP и «API в Контакте»

Для этого у нас есть Joomla и класс который забираем по ссылке

Для работы с API через PHP потребуется создать две константы, будут включаться в каждый запрос это api_id вашего приложения (его видно прямо в адресной строке при переходе по ссылке на приложение) и секретный ключ - он выдается при создании приложения (он длинный и его можно изменить в настройках приложения)

Вызов API средствами PHP выглядит следующим образом:

Foreach ($this->items as $item){
$uids = $item->item;
}
$api = new vkapi();
$ans = $api->api("getProfiles", array("uids" => implode(",",$uids), "fields" => "photo, photo_big"));

Первый foreach берет всех зарегистрированных пользователей из моего приложения (но не более 1000), а далее выполняется запрос к «API в контакте» на загрузку данных об этих пользователях. На выходе имеем массив значений вида: $ans["response"][$i]["field"], где response - массив данных о пользователях, дальше $i элемент и наконец требуемое свойство пользователя field например first_name (имя) или photo.

Преимущества такого подхода:

1. Становятся доступными secure методы API, что не маловажно если нужно узнать баланс или зачисить/снять голоса.
2. Не нужно писать «тысячи» строк кода на JS для работы с API
3. Мы получаем легко-администрируемый сайт и приложение одновременно.

Что именно я делал в Joomla рассказывать очень долго и не нужно я только приведу примерную логику работы моего приложения.

Не для кого не секрет, что все компоненты Joomla базируются на MVC-паттерне. Который все раскладывает по полочкам!

Controller компонента принимает все команды/запросы пользователя (хоть на действия пользователя при переходе по ссылкам, хоть с помощью AJAX запросов c использованием JS)

Model отвечает за все операции с базой данных нашего компонента, у меня, например: выводит само голосование, списки проголосовавших за определенного участника голосования, отвечает на проверку и повторного голосования и еще несколько вспомогательных функций.

View управляет выводом различных Layout"ов и передачей в них данных из модели.

Тем кто занимался разработкой компонентов под Joomla все предельно ясно.

Никто не мешает нам использовать класс vkapi.class.php в любом месте приложения, лично я использовал его только во view для подготовки данных к выводу (например по uid пользователей в контакте, который поставили мое приложение, я подгружал адреса фотографий)

Этап 5: Виджеты

Уже все привыкли к огромному количеству различных форм и кнопочек из соц сетей. Мне тоже захотелось такую в своем Iframe приложении. Каким образом подключить виджет комментариев:

Ни в коем случае не добавляйте на страницу следующий код:

Это подходит для сайтов, но не подходит для Iframe приложений!

Достаточно сделать вот так:

VK.Widgets.Comments("vk_comments", {limit: 10, width: "578", attach: "*"});

В JS API уже реализованы функции добавления виджетов.

Что касается самих комментариев то вы знаете, что когда пользователь оставляет свой комментарий на странице с приложением, на его стене он тоже публикуется, но ссылкой на ваш сайт, а не на приложение! Что бы этого избежать нужно использовать параметр pageURL в котором будет указан адрес приложения в формате www.vkontakte.ru/app {app_id}

В итоге у меня получилось так:

VK.Widgets.Comments("vk_comments", {limit: 10, width: "578", attach: "*", pageURL: "http://vkontakte.ru/app2176209"});

Этап 6: Вывод

На выходе имеем не сложное, но рабочее приложение в Контакте. Которое можно легко расширять и развивать добавляя новые и новые возможности и компоненты используя свою любимую CMS совместно с API в Контакте и JS API.

Вот что у меня получилось.



Загрузка...