добрый день!
не пойму как получить сообщения после определенного сообщения
https://api.vk.com/method/messages.getHistory?access_token=***v=5.52=147819
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,096
Нельзя писать «>=». Нужно просто «=».
Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись )
Форумчанин
Регистрация: 02.08.2014
Сообщений: 476
так возвращает сообщения до.
А нужно после этого сообщения
Регистрация: 12.01.2011
Сообщений: 19,500
Точно до? «Starting message ID from which to return history» же.
Форумчанин
Регистрация: 02.08.2014
Сообщений: 476
да, выводит сообщения до включительно с сообщением которое указано в start_message_id
Регистрация: 12.01.2011
Сообщений: 19,500
Ну значит пишите баг репорт во вконтакт.
Форумчанин
Регистрация: 02.08.2014
Сообщений: 476
Для start_message_id >= 0 и к значению параметра offset прибавляется количество сообщений, чей идентификатор строго больше данного start_message_id (при offset равном 0 вернутся сообщения начиная с данного включительно и более старые, count штук).
Как отметить сообщения вк непрочитанным
может еще какой параметр передать нужно. я просто что-то не пойму не как
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,096
Если не задавать count, то нужно добавить offset=-20. Если задать count=x, то еще добавить offset=-x.
Источник: www.programmersforum.ru
Как получить верный запрос из VK API сообществ?
В items должно содержаться как раз диалог с непрочитанным сообщением,о чем говорит unread_dialogs, но он пуст.
Хорошо, идем в Postman и проверим запрос там.
Создаем ссылку:
https://api.vk.com/method/messages.getDialogs?v=5.53count=20unread=1 «response»: < «count»: 1, «real_offset»: -8, «items»: [ < «unread»: 1, «message»: < «id»: 150, «date»: 1474366312, «out»: 0, «user_id»: 01111111, «read_state»: 0, «title»: » . «, «body»: «проверка» >, «in_read»: 149, «out_read»: 149 > ] > >
Как видно все отлично, что требовалось, то и получил.
А теперь вопрос, что я делаю не так, и почему такое различие при вызове?
- Вопрос задан более трёх лет назад
- 879 просмотров
15 комментариев
Оценить 15 комментариев
Источник: qna.habr.com
messages.getHistory не возвращает непрочитанные сообщения
Появилась проблема с vk api. Метод messages.getHistory должен возвращать историю диалога,но он не возвращает непрочитанные(новые) сообщения. Как мне получить непрочитанные сообщения? Пример запроса ниже
$request_params = http_build_query(array( ‘offset’ => 0, ‘count’ => 50, ‘extended’ => 1, ‘peer_id’=> $peer_id, ‘rev’ => 0, ‘start_message_id’ => -1 , ‘access_token’ => $token, ‘v’ => ‘5.103’ )); $options = array( ‘http’ => array( ‘header’ => «Content-type: application/x-www-form-urlencodedrn», ‘method’ => ‘POST’, ‘content’ => $request_params ) ); $result = file_get_contents(‘https://api.vk.com/method/messages.getHistory’,false, stream_context_create($options));
Отслеживать
задан 20 ноя 2019 в 5:56
89 7 7 бронзовых знаков
Что значит не возвращает непрочитанные сообщения? Метод прекрасно работает, и отдает каждое сообщение, в том числе и непрочитанное.
Как с телефона читать сообщения ВКонтакте, оставляя их непрочитанными, чтобы собеседник не догадался
– user285292
20 ноя 2019 в 6:13
не возвращает не прочитанные сообщения. посмотрите сами и другой метод в документации я не нашел. Может запрос не правильно отправляю, чтобы получить полностью диалог? Если сообщение прочитаю, то мне показывает снова сообщение
20 ноя 2019 в 6:20
Во-первых, можно обойтись обычным get-запросом, во-вторых только что, лично тестил и мне вернул все сообщения последние (в том числе и непрочитанные). Чтобы получить полный диалог, делайте смещение (параметр offset ), и желательно делать это через метод execute .
Источник: ru.stackoverflow.com