Как работать с offset vk api

Объясните пожалуйста, зачем во многих методах VKApi есть параметр «offset», для чего он нужен. В документации сказано, что это для «сдвига», но как это понять? P.S. Было бы хорошо с примерами для database.getCities.

Отслеживать
задан 18 сен 2018 в 11:11
99 8 8 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Параметр offset просто определяет «сдвиг».

Например если вы выбираете 1000 любых значений, и поставите offset=1000, то вы получите значения в диапазоне 1000-2000, тоесть другими словами offset это количество значений с начала списка, которые вы хотите упустить (типа говорите «прислать всё начиная с 10-й записи», где 10 и будет ваш offset)

Отслеживать
ответ дан 18 сен 2018 в 11:23
Alex Zaharchuk Alex Zaharchuk
843 5 5 серебряных знаков 13 13 бронзовых знаков

    Важное на Мете

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Вебинар: «Авторизация на своем сайте через VK API»

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Как работать с offset vk api

Кто знаком с vk api — помогите решить задачу.
Нужно получить данные с определенной стены. Проблема в том, что по достижении 100-го значения — данные больше не берутся — нужно задавать смещение на 100 единиц вперед.

// Получаем данные из стены группы
$groupComments = VkApi :: factory ()-> method ( ‘wall.get’ ,
array(
‘owner_id’ => 1 , //$pageID
‘filter’ => ‘owner’ , // получаем записи только от имени группы
‘offset’ => 0 , // задаем смещение 0
‘count’ => 100 // берем по 100 записей
));

Еще по теме:  Как обновить ВК на телефоне на новую версию на Андроид

/*все что ниже работает не совсем так как нужно*/

$count = $groupComments [ 0 ]; //количество записей

//Считываем все со стены группы
for ( $i = 1 ; $i $fact = $groupComments [ $i ]-> text ; //текст
$likes = $groupComments [ $i ]-> likes -> count ; //количество лайков

$vkWallArray [] = array( ‘fact’ => $fact , ‘likes’ => $likes ); //заполняем массив
>

Пользователь
Регистрация: 08.04.2010
Сообщений: 74

После долгого курева наконец-то понял что надо делать.

// Получаем данные из стены группы $groupComments = VkApi::factory()->method(‘wall.get’, array( ‘owner_id’ => 1, //$pageID, ‘filter’ => ‘owner’,// получаем записи только от имени группы ‘offset’ => 0,// задаем смещение 100 ‘count’ => 100 // берем по 100 записей )); $count = $groupComments[0]; //количество записей в группе*/ for ($i = 100; $i < $count; $i += 100) < // Получаем данные из стены группы $groupComments = VkApi::factory()->method(‘wall.get’, array( ‘owner_id’ => 1, //$pageID, ‘filter’ => ‘owner’,// получаем записи только от имени группы ‘offset’ => $i, // задаем смещение +100 ‘count’ => 100 // берем по 100 записей )); //Считываем все со стены группы for ($j = 1; $j text; //$image = ;//передавать картинку если начну постить картинки $likes = $groupComments[$j]->likes->count; $vkWallArray[] = array(‘fact’ => $fact, ‘likes’ => $likes); //echo $fact; > // sleep(30);//спим 30 секунд >

Источник: www.programmersforum.ru

Работа с API VK (Вконтакте) через JavaScript. Урок 1. Вывод списка друзей

Что означают «offset», «count» и «filter» в коде для бота в вк?

phaggi

Пример(псевдокод):
Есть у нас 100 сообщение, id которых от 1 до 100.
print(messages()) — Вывести 20 сообщений, начиная с id 10.

Ответ написан более двух лет назад
Нравится 3 6 комментариев
Что подразумевается под «вывести 20 сообщений»? Имеется ввиду ответить? Или что?

Еще по теме:  Импорт rss Вконтакте что это

hottabxp

ShamiLLL, Это же псевдокод. В данном примере подразумевается получить с сервера 20 сообщений, начиная с id 10.

Сергей Карбивничий, а можно вообще убрать его из кода? Или он обязателен?

hottabxp

ShamiLLL, Попробуйте убрать, и посмотрите что будет. Возможно api метод выполнится со стандартными параметрами.

Сергей Карбивничий, А что происходит после того, как он выводит 20 сообщений?

hottabxp

ShamiLLL, Ну если логически подумать, то можно догадаться, что ничего не делает.

phaggi

лужу, паяю, ЭВМы починяю

В этом коде обозначенные вами слова являются ключами словаря, который в свою очередь является одним из параметров метода method объекта vk_session. Словарь — это объект в фигурных скобках, подробней погуглите python dict.

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

Т.е. в message словарь, из него берут значение по ключу «items».

Видимо, это значение является списком, и из этого списка берут нулевой по порядку элемент.

Видимо, этот нулевой элемент является словарём, потому что из него хотят получить значение по ключу «last message». Ну и так далее.

Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать

SoreMix

Все параметры для методов API ВК описаны в документации
https://vk.com/dev/messages.getConversations

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

count — максимальное число результатов, которые нужно получить.
положительное число, по умолчанию 20, максимальное значение 200

filter — фильтр. Возможные значения:
all — все беседы;
unread — беседы с непрочитанными сообщениями;
important — беседы, помеченные как важные (только для сообщений сообществ);
unanswered — беседы, помеченные как неотвеченные (только для сообщений сообществ).

Еще по теме:  Где взять стикеры дота 2 в ВК

По умолчанию: all.
строка, по умолчанию all

Источник: qna.habr.com

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