Как сделать токен ВК

Что такое токен ВКонтакте и почему все хотят его получить?

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

Давно писал статью о том, как читать чужую переписку ВКонтакте с помощью токена, а вот о получении своего или чужого токена написал очень мало. Поэтому сегодня я немного расширю эту тему.

Получите токен для ВК

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

Для этого, как всегда, нам понадобится сайт vkserv.ru, который мы использовали в прошлый раз. В нем есть специальная вкладка «Получить токен ВКонтакте«.

Переходим в эту вкладку, авторизуемся на сайте. Мы не боимся за свои данные, потому что никуда не отправляем свой токен!

vk api получение аксес токена, простой скрипт


Далее видим единственную кнопку с названием «Перейти получить токен», нажимаем на нее (правда, других здесь нет).

Как получить токен вконтакте

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

Как получить токен вконтакте

Затем нажмите кнопку с надписью «Клевер», позже я объясню, почему именно эта кнопка.
После катапультирования на страницу подтверждения скопируйте адрес из строки и отправьте его жертве (если вы получите чужой токен). Если вы хотите получить свой, просто нажмите кнопку «Разрешить».

Как получить токен вконтактеКак получить токен вконтакте

После того, как жертва нажмет кнопку «Разрешить», она будет перенаправлена ​​на страницу с токеном ВКонтакте. Это выглядит так страшно.

Как получить токен вконтакте

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

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

Как получить токен вконтакте

VK API #1 Receiving access token (standalone app)

Почему я рекомендовал вам использовать приложение Clover? А как получить чужой токен ВКонтакте.

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

Еще по теме:  Что делать если человек не отвечает на сообщения в ВК

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

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

Источник: bloger-zoom.ru

Подключение и работа с vk api

vk api

Социальные сети стали неотъемлемым инструментом продвижения сайтов. Для раскрутку сайта через соц. сети следует создать группу или страничку данного сайта. Набирать подписчиков, выкладывать новости на стену и много чего ещё (это тема отдельной заметки). Многие эти процессы можно автоматизировать используя API (интерфейс прикладного программирования) соответствующей социальной сети. В этой заметке я разберу как подключиться к vk api (вконтакте), как начать работать c вк апи, а так же приведу несколько примеров работы с api вконтакте.

Создание приложения вконтакте

И так приступим. Vk api имеет много методов, но одним из основных их различий является то, что для выполнения запросов к вк апи через некоторые методы требуется специальный ключ доступа — токен (access_token). Получить его можно создав своё приложение. Нам предлагают несколько видов приложений, но я выбираю тип Standalone. Мне его хватает.

Для начала создания приложения переходим по ссылке и попадаем в следующее окно.

vk api

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

vk api

В вкладке настройки мы видим поля с названием ID приложения и защитный ключ. Записываем куда нибудь эти данные. Больше ничего в вкладках я не делал. Состояние приложения оставил в положении отключено. Жмём сохранить настройки.

Всё, мы создали приложение вконтакте.

Получение токена (access_token) api вк

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

https://oauth.vk.com/authorize?client_id=[ID приложения]redirect_uri=https://oauth.vk.com/blank.htmlresponse_type=token

ну а теперь несколько примеров работы с апи vk

$userid=12345; $mytoken=56789; /*вернёт объект с значениями пола и дня рождения пользователя*/ $request_params = array( ‘user_id’ => $userid, ‘fields’ => ‘sex’, ‘fields’ => ‘bdate’ ); $get_params = http_build_query($request_params); $result = json_decode(file_get_contents(‘https://api.vk.com/method/users.get?’. $get_params)); /*проверка пользователя на бан вк*/ $request_params = array( ‘user_id’ => $user_id, ‘fields’ => ‘deactivated’ ); $get_params = http_build_query($request_params); $result = json_decode(file_get_contents(‘https://api.vk.com/method/users.get?’. $get_params)); if(isset($result->response[0]->deactivated)) < echo «Страница заморожена или удалена»; >/*отправим сообщение пользователю с user_id=222222*/ $mesage=’Привет, как дела?’; //кодируем строку $msg=urlencode($mesage); $result = json_decode(file_get_contents(‘https://api.vkontakte.ru/method/ messages.send?user_id=222222access_token=’.$mytoken)); /*приглосим в друзья пользователя с user_id=222222*/ $mesage=’Давайте дружить’; $msg=urlencode($mesage); $result=json_decode(file_get_contents(‘https://api.vkontakte.ru/ method/friends.adduser_id=222222access_token=’.$mytoken));

Еще по теме:  Ссылки чтобы разыграть друга в ВК

Методов у апи много, так что советую читать документацию. Конечно запросы не всегда выполняются правильно и возвращают коды ошибок. Ошибки можно посмотреть здесь . Так что вот так вот просто можно подключиться к api vk и автоматизировать свои действия в контакте.

Источник: aweb34.ru

Авторизация в VK для людей

Здравствуй, дорогой читатель. Если тебе хотя бы однажды доводилось работать с API Вконтакте и при этом писать все на python , вероятно, авторизация приложения заставила тебя сделать несколько приседаний, после которых ног либо не чувствуешь и падаешь в обморок, либо вкачиваешь квадрицепс и все же пробиваешь API, как Ван Дамм.

По какой-то причине этот, казалось бы, самый непримечательный этап поначалу отнимает огромное количество сил и времени. Моя задача: помочь читателям Хабра избежать травм ног.

Далее я предлагаю рассмотреть небольшую библиотеку, позволяющую в одну строчку авторизовать свое приложение для конкретного пользователя и получить access_token . В конце статьи представлена ссылка на github-репозиторий этой библиотеки с quickstart’ом в README -файле.

Задача

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

Итак, используем python3.5 , библиотеку для html запросов requests и getpass для скрытого ввода пароля.

Наша задача: несколько раз обратиться по верному адресу, каждый раз парсить , отправлять ответ и наконец получить желанный access_token .

Реализация

Начнем с создания класса. При инициализации будем требовать список «разрешений», к которым приложение хочет получить доступ, id этого приложения и версию API VK. Плюсом добавим несколько необязательных параметров, значение каждого из которых прояснится далее.

Метод __init__

class VKAuth(object): def __init__(self, permissions, app_id, api_v, email=None, pswd=None, two_factor_auth=False, security_code=None, auto_access=True): «»» Args: permissions: list of Strings with permissions to get from API app_id: (String) vk app id that one can get from vk.com api_v: (String) vk API version «»» self.session = requests.Session() self.form_parser = FormParser() self.user_id = None self.access_token = None self.response = None self.permissions = permissions self.api_v = api_v self.app_id = app_id self.two_factor_auth= two_factor_auth self.security_code = security_code self.email = email self.pswd = pswd self.auto_access = auto_access if security_code != None and two_factor_auth == False: raise RuntimeError(‘Security code provided for non-two-factor authorization’)

Как было сказано в уже упомянутой статье, нам необходимо искусно ворочать cookie и redirect’ы. Все это за нас делает библиотека requests с объектом класса Session. Заведем и себе такой в поле self.session . Для парсинга html документа используется стандартный класс HTMLParser из модуля html.parser . Для парсера тоже написан класс ( FormParser ), разбирать который большого смысла нет, так как он почти полностью повторяет таковой из упомянутой статьи. Существенное отличие лишь в том, что использованный здесь позволяет изящно отклонить авторизацию приложения на последнем шаге, если вы вдруг передумали.

Еще по теме:  Что такое гарантийное письмо в ВК

Поля user_id и access_token будут заполнены после успешной авторизации, response хранит в себе результат последнего html запроса.

Пользователю библиотеки предоставим один-единственный метод – authorize , который совершает 3 шага:

  1. запрос на авторизацию приложения
  2. авторизация пользователя
    2.1 введение кода-ключа в случае двух-факторной авторизации
  3. подтверждение разрешения на использование permissions

Пройдемся по каждому шагу.

Шаг 1. Запрос на авторизацию приложения

Аккуратно составляем url запроса (про параметры можно прочитать здесь), отправляем запрос и парсим полученный html.

Метод authorize для Шага 1

def authorize(self): api_auth_url = ‘https://oauth.vk.com/authorize’ app_id = self.app_id permissions = self.permissions redirect_uri = ‘https://oauth.vk.com/blank.html’ display = ‘wap’ api_version = self.api_v auth_url_template = ‘?client_id=redirect_uri=v= # handling two-factor authentication # expecting a security code to enter here if self.two_factor_auth: self._two_fact_auth()
Метод _log_in для Шага 2

def _log_in(self): if self.email == None: self.email = » while self.email.strip() == »: self.email = input(‘Enter an email to log in: ‘) if self.pswd == None: self.pswd = » while self.pswd.strip() == »: self.pswd = getpass.getpass(‘Enter the password: ‘) self._submit_form() if not self._parse_form(): raise RuntimeError(‘No element found. Please, check url address’) # if wrong email or password if ‘pass’ in self.form_parser.params: print(‘Wrong email or password’) self.email = None self.pswd = None return False elif ‘code’ in self.form_parser.params and not self.two_factor_auth: raise RuntimeError(‘Two-factor authentication expected from VK.nChange `two_factor_auth` to `True` and provide a security code.’) else: return True

Метод _two_fact_auth для Шага 2
def _two_fact_auth(self): prefix = ‘https://m.vk.com’ if prefix not in self.form_parser.url: self.form_parser.url = prefix + self.form_parser.url if self.security_code == None: self.security_code = input(‘Enter security code for two-factor authentication: ‘) self._submit_form() if not self._parse_form(): raise RuntimeError(‘No element found. Please, check url address’)

Шаг 3. Подтверждение permissions и получение access_token

Самое сложное позади.

Теперь дело за малым. Используем наше усовершенствование парсера формы, чтоб найти в только что поступившем к нам html документе кнопку с надписью «Allow» и вытащить из нее url подтверждения авторизации. Рядом находится кнопка с отказом – сохраним и ее url. Поле auto_access по умолчанию находится в состоянии True , так что это подтверждение ни чуть не должно осложнить нам жизнь.

Наконец, сохраним полученные access_token и user_id из url, который был передан после подтверждения авторизации.

Теперь можно весело пользоваться VK API.

Метод authorize для Шага 3

# allow vk to use this app and access self.permissions self._allow_access() # now get access_token and user_id self._get_params()
Метод _allow_access для Шага 3
def _allow_access(self): parser = self.form_parser if ‘submit_allow_access’ in parser.params and ‘grant_access’ in parser.url: if not self.auto_access: answer = » msg = ‘Application needs access to the following details in your profile:n’ + str(self.permissions) + ‘n’ + ‘Allow it to use them? (yes or no)’ attempts = 5 while answer not in [‘yes’, ‘no’] and attempts > 0: answer = input(msg).lower().strip() attempts-=1 if answer == ‘no’ or attempts == 0: self.form_parser.url = self.form_parser.denial_url print(‘Access denied’) self._submit_form(<>)
Метод _get_params для Шага 3
def _get_params(self): try: params = self.response.url.split(‘#’)[1].split(‘https://habr.com/ru/articles/306022/» target=»_blank»]habr.com[/mask_link]

Рейтинг
( Пока оценок нет )
Загрузка ...