Open Andreuno opened 5 years ago
У меня все меньше времени и желания этим заниматься, так что скорее всего не будет. В принципе это можно реализовать отедльным модулем и залить в pypi, так что делайте кому нужно. Не объязательно даже на vk_api завязываться, можно просто куки от vk_api брать или requests сессию
Ну и возможно это обходится использованием ключей от официальных приложений
У меня все меньше времени и желания этим заниматься, так что скорее всего не будет. В принципе это можно реализовать отедльным модулем и залить в pypi, так что делайте кому нужно. Не объязательно даже на vk_api завязываться, можно просто куки от vk_api брать или requests сессию
Ну и возможно это обходится использованием ключей от официальных приложений
Спасибо за ответ!) Релаьно годная либа, пользуесь только ей. Спасибо тебе за такое)
@Andreuno Короче, я создам у себя в репозитории обход messages, будет основан на selenium. Удобство этой штуки будет в том что каптча у вас будет простая нежели каждый раз текстово вводить
@Andreuno Короче, я создам у себя в репозитории обход messages, будет основан на selenium. Удобство этой штуки будет в том что каптча у вас будет простая нежели каждый раз текстово вводить
Он на питоне или на java? И в чем суть удобства с капчей, ну что ты придумал то-есть?)
@Andreuno Короче, я создам у себя в репозитории обход messages, будет основан на selenium. Удобство этой штуки будет в том что каптча у вас будет простая нежели каждый раз текстово вводить
То есть, нельзя будет использовать API с selenium нормально без браузера? А как же сервера? На сколько я помню, selenium нормально только в связке с графическим браузером работает, не консольным.
@Andreuno Короче, я создам у себя в репозитории обход messages, будет основан на selenium. Удобство этой штуки будет в том что каптча у вас будет простая нежели каждый раз текстово вводить
То есть, нельзя будет использовать API с selenium нормально без браузера? А как же сервера? На сколько я помню, selenium нормально только в связке с графическим браузером работает, не консольным.
Я посмотрел вариант использования requests, на сколько я понимаю, cookies и так есть в сессии, и через эту сессию работать с сообщениями через парсер типа beautifulsoup и post/get requests
@Andreuno Короче, я создам у себя в репозитории обход messages, будет основан на selenium. Удобство этой штуки будет в том что каптча у вас будет простая нежели каждый раз текстово вводить
То есть, нельзя будет использовать API с selenium нормально без браузера? А как же сервера? На сколько я помню, selenium нормально только в связке с графическим браузером работает, не консольным.
Я посмотрел вариант использования requests, на сколько я понимаю, cookies и так есть в сессии, и через эту сессию работать с сообщениями через парсер типа beautifulsoup и post/get requests
В общем работать через lxml или beautyfulsoup можно прекрасно парсить сообщения, получать их и отправлять. Важный момент что requests сессию можно взять прямо из библиотеки (на практике не пробовал еще). Фактически можно реализовать метод messages через requests к web версии и обернуть их в привычную часть библиотеки в привычном виде. Если у кого есть время и желание сделать, будет супер. Дойдут руки постараюсь сделать сам.
@Andreuno Короче, я создам у себя в репозитории обход messages, будет основан на selenium. Удобство этой штуки будет в том что каптча у вас будет простая нежели каждый раз текстово вводить
То есть, нельзя будет использовать API с selenium нормально без браузера? А как же сервера? На сколько я помню, selenium нормально только в связке с графическим браузером работает, не консольным.
Я посмотрел вариант использования requests, на сколько я понимаю, cookies и так есть в сессии, и через эту сессию работать с сообщениями через парсер типа beautifulsoup и post/get requests
В общем работать через lxml или beautyfulsoup можно прекрасно парсить сообщения, получать их и отправлять. Важный момент что requests сессию можно взять прямо из библиотеки (на практике не пробовал еще). Фактически можно реализовать метод messages через requests к web версии и обернуть их в привычную часть библиотеки в привычном виде. Если у кого есть время и желание сделать, будет супер. Дойдут руки постараюсь сделать сам.
Если будешь делать, то примерно через какой промежуток времени? И дойдут ли руки в целом? Если где-то за горизонтом и не факт, что дойдут, то буду разбираться как делать.
Пришло такое сообщение в лс от Администрации вк: "...Отметим, что приложениям, работающим с сообщениями пользователя с сервера, доступ выдан быть не может..."
Собственно вопрос, кто-нибудь знает это означает, что при получении токена пользователя (vk_token) через мобильное приложение и отправки этого токена на сервер и запуске на сервере примерно следующего кода:
vk_session = vk_api.VkApi(token=self.vk_token, app_id=self.app_id,
client_secret=self.vk_client_secret)
self.vk = vk_session.get_api()
то такому приложению доступ к messages выдан не будет? Или я что-то не так понял..
Скорее всего они имели в виду приложения, авторизация в которых проходит через implicit flow. В документаций кстати об этом написано.
Меня интересует вопрос обхода ограничений по использованию методов message. Сейчас ещё можно выполнять message.send юзеру через vk.com/dev. А вот если отсылать что-то в беседу то "Permission to perform this action is denied". Кто как обходит? Авторизация под офф. приложением? Пытался косить под Kate, но получил "Access denied: no access to call this method".
Поправочка. Через vk.com/dev пока ещё работает. Но я думаю что не на долго. Возможно чуть позже залью код для обхода к себе.
@MrSmitix, не советую проходить авторизацию с данными офф. приложений - техподдержка подтвердила, что за это скоро начнуть банить аккаунты. Тем не менее, при закосе под оф приложение под ведроид, методы сообщений работают.
@hikiko4ern, не можешь подсказать app_id и app_secret для авторизации?
@MrSmitix, *тык*
Скорее всего они имели в виду приложения, авторизация в которых проходит через implicit flow. В документаций кстати об этом написано.
Меня интересует вопрос обхода ограничений по использованию методов message. Сейчас ещё можно выполнять message.send юзеру через vk.com/dev. А вот если отсылать что-то в беседу то "Permission to perform this action is denied". Кто как обходит? Авторизация под офф. приложением? Пытался косить под Kate, но получил "Access denied: no access to call this method".
Получается получение токена через Android SDK и работа с этим токеном на сервере - остается разрешенной фичей?
https://github.com/python273/vk_api/issues/219#issuecomment-455252508 есть уязвимость данной системы. Смысл таков что кто прошёл модерацию, то даётся не токен который работает на одного человека, а разрешается app_id! Что мы в итоге имеем, забираем app_id у KateMobile и дело решено! Хз как у вас, но у меня всё отлично
@Andreuno Короче, я создам у себя в репозитории обход messages, будет основан на selenium. Удобство этой штуки будет в том что каптча у вас будет простая нежели каждый раз текстово вводить
То есть, нельзя будет использовать API с selenium нормально без браузера? А как же сервера? На сколько я помню, selenium нормально только в связке с графическим браузером работает, не консольным.
Я посмотрел вариант использования requests, на сколько я понимаю, cookies и так есть в сессии, и через эту сессию работать с сообщениями через парсер типа beautifulsoup и post/get requests
В общем работать через lxml или beautyfulsoup можно прекрасно парсить сообщения, получать их и отправлять. Важный момент что requests сессию можно взять прямо из библиотеки (на практике не пробовал еще). Фактически можно реализовать метод messages через requests к web версии и обернуть их в привычную часть библиотеки в привычном виде. Если у кого есть время и желание сделать, будет супер. Дойдут руки постараюсь сделать сам.
Если будешь делать, то примерно через какой промежуток времени? И дойдут ли руки в целом? Если где-то за горизонтом и не факт, что дойдут, то буду разбираться как делать.
Сейчас закончу основную часть бота с celery и прочими вещами, после отладки займусь сообщениями через requests
#219 (comment) есть уязвимость данной системы. Смысл таков что кто прошёл модерацию, то даётся не токен который работает на одного человека, а разрешается app_id! Что мы в итоге имеем, забираем app_id у KateMobile и дело решено! Хз как у вас, но у меня всё отлично
Не совсем понятно, достаточно забрать только app_id? А CLIENT_SECRET брать какой и токен пользователя?
@xkord, всегда можно декомплировать и посмотреть, как это делает приложение; токен через Implicit Flow получать.
...
public static String getUrl(String paramString1, String paramString2)
{
StringBuilder localStringBuilder = new StringBuilder();
localStringBuilder.append("https://oauth.vk.com/authorize?client_id=");
localStringBuilder.append(paramString1);
localStringBuilder.append("&display=mobile&scope=");
localStringBuilder.append(paramString2);
localStringBuilder.append("&redirect_uri=");
localStringBuilder.append(URLEncoder.encode(redirect_url));
localStringBuilder.append("&response_type=token&v=");
localStringBuilder.append(URLEncoder.encode("5.78"));
return localStringBuilder.toString();
}
...
...
String str = Auth.getUrl(KateConstants.API_ID, paramBundle);
...
...
public class KateConstants
{
public static String API_ID = "2685278";
public static String tmp = "hHbJug59sKJie78wjrH8";
}
...
@xkord, всегда можно декомплировать и посмотреть, как это делает приложение; токен через Implicit Flow получать.
... public static String getUrl(String paramString1, String paramString2) { StringBuilder localStringBuilder = new StringBuilder(); localStringBuilder.append("https://oauth.vk.com/authorize?client_id="); localStringBuilder.append(paramString1); localStringBuilder.append("&display=mobile&scope="); localStringBuilder.append(paramString2); localStringBuilder.append("&redirect_uri="); localStringBuilder.append(URLEncoder.encode(redirect_url)); localStringBuilder.append("&response_type=token&v="); localStringBuilder.append(URLEncoder.encode("5.78")); return localStringBuilder.toString(); } ...
... String str = Auth.getUrl(KateConstants.API_ID, paramBundle); ...
... public class KateConstants { public static String API_ID = "2685278"; public static String tmp = "hHbJug59sKJie78wjrH8"; } ...
Спасибо, помогло! Интересно, как долго это будет работать. Пока разработчики Kate Mobile не перегенерят client_secret и не сделают нормальную защиту от декомпилирования...
Интересно, а можно как-то провернуть подобную схему через получение токена с помощью sdk?
пока для доступа к сообщениям не сделают какую-нибудь хитрую систему, как для доступа к аудио
client_secret не используется при авторизации даже если и сделают какую-то защиту, app_id останется
Интересно, а можно как-то провернуть подобную схему через получение токена с помощью sdk?
какую "подобную схему"?
пока для доступа к сообщениям не сделают какую-нибудь хитрую систему, как для доступа к аудио
client_secret не используется при авторизации даже если и сделают какую-то защиту, app_id останется
Интересно, а можно как-то провернуть подобную схему через получение токена с помощью sdk?
какую "подобную схему"?
У меня сервис устроен следующим образом, получаю токен пользователя через sdk, далее токен отправляю на сервер и работаю с messages с сервера:
vk_session = vk_api.VkApi(token=self.vk_token, app_id=self.app_id,
client_secret=self.vk_client_secret)
self.vk = vk_session.get_api()
У меня есть CLIENT_SECRET и APP_ID от Kate Mobile, а токен через SDK я уже не смогу получить, только Implicit Flow. Вот я и подумал, может можно все таки как-то получить его через API SDK.
Серьезно? У меня все прекрасно работает на Kate APP_ID... Странно
и работаю с messages с сервера
@xkord, вроде где-то было написано, что теперь нельзя использовать апи сообщений с сервера - только клиентский.
и работаю с messages с сервера
@xkord, вроде где-то было написано, что теперь нельзя использовать апи сообщений с сервера - только клиентский.
Если быть точнее, то "работал". В том то и дело, что теперь нельзя. Придется всю логику работы переносить на клиента. Потому что как я понял Implicit flow для браузера, а мне надо получить токен с помощью SDK для уже залогиненного пользователя в оффициальном приложении вк на телефоне.
Здравствуйте, мне нужно чтобы бот ловил событие вступления человека в беседу вконатакте, бот должен что-то написать в ответ на это событие. Не знаете как называется событие???
Здравствуйте, мне нужно чтобы бот ловил событие вступления человека в беседу вконатакте, бот должен что-то написать в ответ на это событие. Не знаете как называется событие???
group_join / https://vk.com/dev/groups_events
Hi, ещё актуальны CLIENT_SECRET и APP_ID от Kate Mobile? У выдает ошибку при попытки исользования message.get Если нет, то есть ли способы без модерации приложения получить доступ к сообщениям?
@Neqit вообще должно быть актуально
@TheDeaX-Lab Хмм.. А какие аргументы используются для vk_api.VkApi? токен, клиент_сикрет и апп_айди?
@Neqit только app_id https://github.com/TheDeaX-Lab/fast_start_vk
есть решение! vk_session = vk_api.VkApi('логин', 'пароль', app_id=2685278)
Есть актуальный фак, как чат бота сделать новичку?
В связи с планируемыми событиями у ВК, в феврале, хочу задать соответствующий вопрос: Будут ли разработчики библиотеки бороться с этим? Как раньше боролись с методом audio...