Объясните пожалуйста, зачем во многих методах 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» в коде для бота в вк?
Пример(псевдокод):
Есть у нас 100 сообщение, id которых от 1 до 100.
print(messages()) — Вывести 20 сообщений, начиная с id 10.
Ответ написан более двух лет назад
Нравится 3 6 комментариев
Что подразумевается под «вывести 20 сообщений»? Имеется ввиду ответить? Или что?
ShamiLLL, Это же псевдокод. В данном примере подразумевается получить с сервера 20 сообщений, начиная с id 10.
Сергей Карбивничий, а можно вообще убрать его из кода? Или он обязателен?
ShamiLLL, Попробуйте убрать, и посмотрите что будет. Возможно api метод выполнится со стандартными параметрами.
Сергей Карбивничий, А что происходит после того, как он выводит 20 сообщений?
ShamiLLL, Ну если логически подумать, то можно догадаться, что ничего не делает.
лужу, паяю, ЭВМы починяю
В этом коде обозначенные вами слова являются ключами словаря, который в свою очередь является одним из параметров метода method объекта vk_session. Словарь — это объект в фигурных скобках, подробней погуглите python dict.
Ноль в квадратных скобках — это запись, означающая выбор нулевого элемента последовательности (списка или кортежа, или аналогичного объекта). До нуля в квадратных скобках есть другие квадратные скобки, в них строка — это, вероятно, аналогичный выбор элемента, но не из списка по порядковому номеру, а из словаря по ключу.
Т.е. в message словарь, из него берут значение по ключу «items».
Видимо, это значение является списком, и из этого списка берут нулевой по порядку элемент.
Видимо, этот нулевой элемент является словарём, потому что из него хотят получить значение по ключу «last message». Ну и так далее.
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Все параметры для методов API ВК описаны в документации
https://vk.com/dev/messages.getConversations
offset — смещение, необходимое для выборки определенного подмножества результатов.
положительное число, по умолчанию 0
count — максимальное число результатов, которые нужно получить.
положительное число, по умолчанию 20, максимальное значение 200
filter — фильтр. Возможные значения:
all — все беседы;
unread — беседы с непрочитанными сообщениями;
important — беседы, помеченные как важные (только для сообщений сообществ);
unanswered — беседы, помеченные как неотвеченные (только для сообщений сообществ).
По умолчанию: all.
строка, по умолчанию all
Источник: qna.habr.com