Fullstack JavaScript разработчик
- Статьи
- Прочее
- Создаём приложения социальных сетей для быстрой авторизации на сайте
Создаём приложения социальных сетей для быстрой авторизации на сайте
Небольшой how-to по созданию приложений в популярных соцсетях для авторизации пользователей.
На данный момент существует множество способов реализации авторизации посредством социальных сетей. Не секрет, что существуют прокси–сервисы, вроде loginza или ulogin, для упрощения разработки социальной авторизации, и вы можете их смело использовать в своих проектах, однако иногда возможность использовать провайдеров отсутствует и вы сталкиваетесь с API соцсетей лицом–к–лицу.
Для взаимодействия с API соцсетей сейчас используются социальные приложения, это такие внешние точки доступа, которые вы используете для взаимодействия.
Вконтакте
Создать приложение ВК достаточно просто. Для создания нового приложения, нужно воспользоваться пунктом левого меню «Управление» (если по какой–то причине у вас этого нет — вот прямая ссылка https://vk.com/editapp?act=create):
Как устроено мобильное приложение ВКонтакте?
ВК предоставляет три типа приложений «Standalone», «Веб–сайт» и «Встраиваемое приложение», подробнее о типах приложений можно прочитать в официальной документации, нам же для авторизации, нужно выбрать «Веб-сайт».
После выбора этого пункта, система потребует также ввести адрес сайта и базовый домен. При необходимости эти параметры можно будет изменить в дальнейшем.
Далее, нужно перейти в раздел «Настройки», там вы увидите секцию с ключами, которые понадобятся в дальнейшем и настройки безопасности приложения:
Доверенный redirect URI, это пути, на которые ВКонтакте разрешено перенаправлять пользователя в процессе авторизации. URI передаётся сети в процессе авторизации с вашего сайта.
Эти пути зависят от используемой вами библиотеки, но как правило, URL авторизации и redirect URI — одни и те же (например, в модуле opencart 1.5 social login это сделано именно так).
Facebook предоставляет достаточно удобный интерфейс для создания приложений. Для реализации приложения, Вам нужно перейти в раздел для разработчиков и создать новое приложение:
Система требует ввести ID приложения, это название. С названием не переусердствуйте — у Facebook есть ограничение на количество символов в названии приложения.
Приложение создано, теперь приступаем к настройке. Сперва нужно подключить к приложению возможность авторизации.
Для этого на странице «Добавить продукт», выбираем «Вход через Facebook» и кликаем по кнопке «Настроить»:
🔥ОБЗОР ПРИЛОЖЕНИЯ VK 2022🔥 + История Вконтакте
Подобно ВКонтакте, потребуется указать тип вашего приложения. Для нас актуален пункт «Веб»:
После этих манипуляций, в левом меню, у вас появится новый продукт «Вход через Facebook», выбираем пункт «настройки» и вписываем пути в поле «Действительные URL-адреса для перенаправления OAuth».
Когда это сделано, переходим в настройки приложения:
В этом разделе вы можете получить всю необходимую информацию для доступа к API, а именно Идентификатор приложения и Секретный ключ приложения:
Честно говоря, с API щебетальни, у меня ранее часто возникали непонятные проблемы, но сейчас, кажется, у них всё более менее стабилизировалось.
Для создания нового приложения переходим в раздел для разработчиков и кликаем по «Create New App». Система потребует ввести основную информацию о приложении и подтвердить согласие с условиями предоставления сервисов.
После того, как вы это заполните — перед вами откроется страница настроек приложения:
Если вашему приложению требуется получать email пользователя, то переходим в раздел Permissions и ставим галочку «Request email addresses from users». Также, тут можно выставить права для приложения — нам для авторизации достаточно прав на чтение «Read only».
Далее, нам нужно получить авторизационные данные для вашего сайта. Для этого переходим в раздел «Keys and Access Tokens».
Для приложений, взаимодействующих с API Twitter, как правило, требуется три элемента авторизации: Consumer key, consumer secret и AppID.
Первые два находятся прямо на этой странице, а вот AppID нужно скопировать из строки браузера (число, между app/ и /keys):
Одноклассники
Регистрация приложения в ok.ru не отличается сложностью, но тут есть несколько нюансов.
Нюанс #1: стать разработчиком на ok.ru
Если вы в первый раз имеете дело с API одноклассников, то имейте в виду — сперва вам необходимо активировать режим разработчика. Делается это на странице https://ok.ru/devaccess.
После того, как вы получите права разработчика, вы сможете создать своё первое приложение.
Нюанс #2: где мои приложения?
В одноклассниках все приложения лежат в разделе игр. Т.е. если у вас нет прямой ссылки в список приложений — переходим в свой профиль, выбираем раздел «игры», переходим в подраздел «мои загруженные»
Настройка приложения в одноклассниках в разы проще — вам всего лишь нужно указать список разрешённых redirect_url и выставить приложению нужные права. При создании приложения, все необходимые ключи и идентификаторы будут отправлены вам на почту.
И вот тут мы подходим к наиболее интересному нюансу API этой соцсети. Разработчики Одноклассников очень бережно относятся к своим пользователям, поэтому не дают доступ к email кому попало.
Нюанс #3: как получить права на чтение email
Для получения прав к чтению email адреса пользователя, нужно запросить эту пермиссию у тех.поддержки API одноклассников. В письме кратко поясните, в каких целях собираетесь использовать email и укажите ID ваших приложений.
Ответ, по моему опыту, приходит от 2 до 24 часов, поэтому если у вас несколько приложений, проще заранее создать их и запросить пермиссию одним письмом для всех сразу.
К слову, AppID приложения, аналогично Твиттеру, берётся из URL адресной строки браузера:
Instagram (бонус)
Вообще, авторизация на сайте через инстаграм, на мой взгляд, такое себе решение.
Во–первых, скорее всего, мало кто будет этим пользоваться, во–вторых социальные приложения в инсте очень жёстко регулируются и вывести своё приложение из sandbox режима бывает довольно проблематично, ну и в–третьих, API обители селфаков может банально оказаться несовместимым с ожиданиями вашего приложения.
Скажу прямо — исключительно для авторизации на сайте, API инсты — мягко говоря, не лучший выбор.
На заметку
Вы не сможете получить email пользователя из instagram API. Если ваше приложение требует использование email, то придётся отказаться от авторизации через instagram!
Тем не менее, для создания нового приложения переходим в раздел для разработчиков и выбираем пункт «Manage Clients»:
На странице кликаем по «Register a New Client» и заполняем требуемые поля:
В поле Valid redirect URIs вбиваем через пробел список разрешённых к редиректу URL, указываем Company name, Contact Email и ссылку на Privacy Policy на вашем сайте. Заолнять поля сразу необязательно, но без этих данных, вы не сможете отправить приложение на модерацию.
Пока приложение находится в режиме песочницы (sandbox mode), у вас есть полный доступ ко всем API методам, но с одним ограничением — вы не сможете получать какую–либо персональную информацию. После того, как вы закончите разработку и отладку вашего приложения, вам будет необходимо отправить приложение на модерацию.
Отправка на модерацию производится в разделе «Permissions», рекомендую перед этим очень внимательно ознакомиться с правилами создания запросов на модерацию в документации Instagram.
Источник: ikfi.ru
Создание приложения для Вконтакте на PHP
2017-02-09 09:51:40 Прежде чем создавать приложение для ВК, вам необходимо знать, что Вконтакте принимает запросы только по защищенному протоколу https, и для этого вам необходимо получить SSL сертификат для вашего домена и установить его на сервер. Для начала заходим в ВК, авторизовываемся и создаем новое приложение в разделе vk.com/dev/
Создаем встраиваемое приложение для сообществ, подтверждаем создание и переходим в раздел настройки.
Указываем адрес скрипта, который и будет являться нашим приложением. От сюда нам понадобятся id приложения и ключ. Теперь переходим к написанию самого скрипта. Я не стал изобретать велосипед и взял готовый класс для VK API с гитхаба Там же можно найти и документацию к классу и несколько примеров. Создаем новый скрипт PHP, подключаем класс
require_once(‘vk.php’); require_once(‘VKException.php’);
Создаем новый объект класса
$vk = new VKVK(‘app_id’, ‘api_secret’ ,false);
app_id и api_secret берем из настроек приложения Вконтакте. Вызываем метод API VK
$users = $vk->api(‘users.get’, array( ‘uids’ => $_REQUEST[‘viewer_id’], ‘fields’ => ‘first_name,last_name,sex,city,contacts’));
И можем работать с полученным от ВК массивом
foreach ($users[‘response’] as $user)
В этом примере я просто вывожу Имя и Фамилию пользователя. В приложении которое ушло в продакшен я выводил HTML страничку с информацией о скидке и картинкой самого купона. Если вы хотите сделать ваше приложение доступным для установки в других группах, то вам будет необходимо написать соглашения и пройти модерацию в ВК. Ссылка на приложение вконтакте Ссылка на класс выше по тексту. Документация по API VK
Источник: netrange.ru
Как создать приложение ВК самому: пошаговая инструкция
Здравствуйте, уважаемые читатели блога LifeExample, у многих из нас есть собственная страница в социальной сети вконтакте, все мы знаем, что каждый пользователь вконтке имеет возможность оставлять комментарии на стене других пользователей и различных сообществ. Сегодня я хочу показать вам как можно работать с данными этого сервиса, через предоставляемый вконтактом инструмент vk api , а именно как с помощью PHP получить все сообщения любого пользователя и его друзей.
Также в статье будет рассказано, как без использования API вконтакте осуществить автоматическую отправку текста на стену группы.
Выбор языка программирования и определение с идеей
Перед тем, как создать приложение в ВК самому, определитесь с идеей. Она должна быть оригинальной и необычной. В социальной сети существует множество различных проектов: прослушивание музыки или радио, поиск новых друзей, управление своим профилем. Кроме того, многие популярные приложения позволяют зарабатывать неплохие деньги тому, кто их создал.
Вы можете создать игру, которая привлечет игроков необычной задумкой. Например, интересный квест или онлайн стратегия. Также пользуются популярностью программы, которые позволяют расширить функционал ВК, в том числе создать клон приложения ВК или изменить тему интерфейса.
Если механика игры будет проста, но оригинальна, наверняка найдутся поклонники. Кроме того, старайтесь использовать уже известный геймплей, если вы решили создать игру. Реализуйте проект так, чтобы пользователи хотели в него играть. Самые востребованные игры по жанрам являются:
- Известные с детства игры, например, лото, крестики-нолики или «Найди отличия».
- Карточные игры и пасьянсы, в том числе современные и покер.
- Казуальные аркады, вроде тетриса или «три в ряд».
Обратите внимание, что после создания изменить жанр или разновидность невозможно. Поэтому точно решите, что вы хотите разработать, уже на начальном этапе.
После выбора идеи внимательно ознакомьтесь с документацией ВК, которая предназначена именно для разработчиков. Чтобы узнать подробнее, перейдите по ссылке vk.com/developers. Затем перейдите в раздел «Документация» и внимательно его изучите полностью.
Онлайн MP3-плеер
Тут нам поможет метод VKApi.audio().getUploadServer() — с его помощью мы получим сервер для загрузки. Потом, как и с видео, нужно загрузить файл POST-запросом, поле file должно содержать файл в формате MP3. В ответ приложение получает данные server, audio и hash в виде JSON:
С помощью метода VKApi.audio().save() приложение передает серверу полученные данные (server, audio и hash) и получает данные о загруженной аудиозаписи.
Как создать приложение ВК
Перед тем, как сделать приложение для ВК самому, определитесь с его типом. На ресурсе их всего два:
- Iframe проекты создаются с помощью специальных инструментов браузера. Данные принимаются и передаются посредством JavaScript. Люди, запустившие ваш проект, попадут в отдельное окно в браузере, затем смогут им воспользоваться.
- Flash-приложения – файлы с расширением .swf. Они создаются через Adobe Flash, после чего сжимаются в файл и выгружаются на сервер.
Разработка приложений ВК требует определенных навыков, но специальные инструменты социальной сети могут помочь в создании.
Через ВК
Как создать приложение для VK Apps? Для этого следует воспользоваться сервисом от социальной сети. С помощью него разработчики могут создавать свои сервисы для использования внутри мобильного приложения Vk. Следуйте пошаговой инструкции:
- Зайдите на главную страницу сайта Vk Developres (https://vk.com/dev). Вы должны быть авторизованы в социальной сети.
- Перейдите во вкладку «Мои приложения».
- В открывшемся окне нажмите на кнопку создания проекта.
- Откроется форма с строками для заполнения. Введите название своего проект, выберите платформу, тип и категорию. Также вы можете добавить описание, которое расскажет о всех достоинствах вашего приложения.
- Нажмите на кнопку «Перейти к загрузке» и залейте файл. После чего будет необходимо подтвердить действие, используя мобильный телефон.
Чтобы создать приложения ВК нужна API интеграция. Она позволяет открывать окна установки и настройки проекта, а также приглашение друзей и ввода голосов. Внутри есть возможность получить баланс пользователя и события в случае, если установка или изменение настроек произошло успешно.
Как создать приложение в ВК для группы? Для этого выберите в конструкторе параметр «Встраиваемое приложение», затем поставьте галочку напротив пункта «Приложение сообщества».
После отправки должностные лица социальной сети Вконтакте проверят ваш готовый проект и решат, занесется ли он в специальный каталог.
Программы для разработки
Создание iFrame приложения в ВК возможно посредством специальных программ и сервисов. Это поможет, если вы не хотите тратить время на изучение языков программирования и других тонкостей.
Для создания flash-проектов потребуется научиться работать с программой Adobe Flash. Новичку разобраться с ней сначала непросто, но она позволит создать полноценный и качественный проект любому пользователю ПК.
Если времени нет на изучение основ программирования, то вы можете воспользоваться сервисами и софтом для разработки приложений ВК. Но, как правило, бесплатные версии обладают ограниченным функционалом. Поэтому для получения полноценного готового проекта, придется заплатить иногда немалые деньги. Наиболее популярными программами для мобильных устройств являются:
- конструктор 3apps.ru;
- Appmarkt;
- iBuildApp;
- AppGeyser.
Сервис BeApp позволяет сделать приложение в группе ВК, в которой вы являетесь администратором. Конструктор встраивается в сообщество в несколько кликов. Базовые функции доступны бесплатно. С помощью встроенного редактора вы можете тонко настроить каждый элемент.
Приложение iFrame или Flash Вконтакте можно создать бесплатно, изучив особенности программирования и применив их на практике. При использовании стороннего софта будьте внимательны, потому как утилиты и программы требуют разрешение к доступу вашего аккаунта.
Работа профессионала
Самый простой способ создания – заказать разработку у команды профессионалов. Такой метод может дорого обойтись в финансовом плане, но обладает рядом преимуществ:
- Экономит время, так как не придется изучать основы программирования и работать над проектом самостоятельно.
- Вам удастся избежать ошибок, которые часто открываются после тестирования проекта.
- Специалисты выполнят проект не только на высоком уровне, но и достаточно быстро.
- Есть возможность сделать приложение ВК не только на русском, но и на английском языке.
Вам останется получить готовый проект, который может обрести большую популярность у пользователей. Если ваша программа или ига нужна вам для заработка, то она сможет окупить все затраты на профессионалов в будущем.
Библиотека VK Connect
Библиотека VK Connect предоставляет доступ к широким возможностям как самой сети «ВКонтакте», так и к возможностям устройства, если мы работаем из-под мобильного приложения. Для ее подключения нужно установить пакет vkontakte/vk-connect: npm i —save-dev vkontakte/vk-connect
.
Среди многочисленных возможностей VK Connect — сканирование QR-кода, получение геопозиции, вызов карточки контактов. Также есть широкие возможности по использованию возможностей соцсети: включение-выключение уведомлений, публикация записей на стене, авторизация сообщества, подписка на сообщения. Их нужно использовать с умом: например, существует ограничение на количество уведомлений — не более одного в сутки. Есть отдельные рекомендации по уведомлениям. Полный список возможностей представлен в документации.
Чтобы наше приложение вообще начало работу, нужно сначала выполнить инициализацию:
«ВКонтакте» не гарантирует поддержку всех событий на всех устройствах (iOS, Android, Web), поэтому лучше делать проверку такой поддержки перед исполнением кода:
if (connect.supports(«VKWebAppGetUserInfo»)) … VK Connect также обеспечивает поддержку запросов к API VK, если нужно что-то большее, чем может предоставить сама библиотека VK Connect: connect.send(«VKWebAppCallAPIMethod», >);
Исходники приложений
Создание проекта не обязательно начинать с нуля. Можно с помощью исходников, которые некоторые разработчики распространяют бесплатно в сети. Часто их можно встретить на форумах или файлообменниках.
Если же вам необходим исходник, данные которого не найти, можете сделать следующее:
- Установите приложение к себе и запустите его.
- В открывшемся окне щелкните правой кнопкой мыши, чтобы открылось контекстное меню. Здесь выберите пункт «Исходный код» страницы.
- Появится строка поиска, где нужно написать http://. Откроется список ссылок.
- Найдите в перечне файл с расширением .zip и скопируйте его в буфер обмена.
- Вставьте ссылку в адресную строку браузера, убрав все слеши, и нажмите клавишу Enter.
После проделанной процедуры, архив скачается на ваш жесткий диск. Замените расширение архива на .swf, после чего можете открыть в Adobe Flash или любой удобной программе. Чтобы начать работать с исходником, нужно получить его код. Делается это путем декомпиляции – сложным процессом, который воссоздает исходник из машинного кода.
Разработка приложений в ВК доступна для любого пользователя при условии, что он знаком с основами программирования и собирается улучшать свои навыки. Создание проекта может занять много времени, поэтому альтернативой является использование специальных конструкторов. Кроме того, для получения более эффективного результата всегда можно воспользоваться услугами профессиональных разработчиков.
Онлайн-кинотеатр
Для загрузки видео существует метод VKApi.video().save(); он также вернет адрес сервера (необходимый для загрузки) и данные видеозаписи. Дальше уже нужно выполнить POST-запрос на полученный адрес. Поле video_file должно содержать видеофайл в формате AVI, MP4, 3GP, MPEG, MOV, MP3, FLV или WMV. В ответ приложение получает размер загруженного файла и идентификатор ролика либо сообщение об ошибке в формате JSON:
После загрузки видеозапись проходит обработку и в списке видеозаписей может появиться спустя некоторое время.
Собственный фотосервер
Картинки можно загружать без POST-запросов простыми методами VKApi.uploadWallPhotoRequest и VKApi.uploadAlbumPhotoRequest. Названия говорят сами за себя. Для собственного «инстаграма» VKApi.uploadAlbumPhotoRequest более предпочтителен, так как фотографии нужно размещать по альбомам, а не скидывать их на стену в живописном хаосе.
VKRequest request = VKApi.uploadWallPhotoRequest(VKUploadImage image, int user_id, int group_id); VKRequest request = VKApi.uploadAlbumPhotoRequest(VKUploadImage image, int album_id, int group_id); VKRequest request = VKApi.uploadWallPhotoRequest(File image, int user_id, int group_id); VKRequest request = VKApi.uploadAlbumPhotoRequest(File image, int album_id, int group_id);
При загрузке фото на свою стену или стену группы user_id == 0, иначе — id пользователя, на стену которого будем загружать фото. При загрузке фото на стену или в альбом группы group_id == id целевой группы, иначе group_id == 0 (например, загрузка фото в свой альбом). В album_id, соответственно, — идентификатор фотоальбома.
Источник: migrt.ru