Получить записи vk api

В этой статье мы рассмотрим один из самых популярных методов VK API — wall.get. Этот метод позволяет получать записи со стены пользователя или сообщества. Рассмотрим его подробнее.

Для начала нужно получить access_token, который будет использоваться при запросах к VK API. Access_token — это ключ доступа, который позволяет получать информацию о пользователе или сообществе VK. Для получения access_token, необходимо пройти процедуру авторизации пользователя в VK API.

После того, как мы получили access_token, мы можем использовать wall.get для получения записей со стены. Параметры запроса для wall.get могут быть следующими:

— owner_id — идентификатор пользователя или сообщества, со стены которого нужно получить записи;
— domain — короткий адрес страницы пользователя или сообщества;
— count — количество записей, которые нужно получить;
— offset — смещение записей от начала;
— extended — если этот параметр не равен 0, то дополнительно будут возвращены информация о пользователях или сообществах, которые создали записи или оставляли комментарии.

Как получить текст объявления через API VK

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

Здесь USER_ID — это идентификатор того пользователя или сообщества, со стены которого мы хотим получить записи, а ACCESS_TOKEN — это ключ доступа, который мы получили ранее.

Ответом на этот запрос будет JSON-объект, который будет содержать информацию о записях на стене. Каждая запись будет содержать следующую информацию:

— id — идентификатор записи;
— from_id — идентификатор создателя записи;
— owner_id — идентификатор владельца стены;
— text — текст записи;
— date — дата публикации записи;
— comments — информация о комментариях к записи;
— likes — информация о лайках к записи;
— reposts — информация о репостах записи;
— attachments — список вложений к записи.

Рассмотрим каждый из этих параметров более подробно.

Параметр id является уникальным идентификатором записи на стене. Этот параметр может быть использован для получения полной информации о записи и изменения ее содержимого.

В этом примере мы получаем информацию о двух записях: первая запись принадлежит пользователю USER_ID_1 и имеет идентификатор 12, вторая запись принадлежит пользователю USER_ID_2 и имеет идентификатор 24.

Параметр from_id является идентификатором пользователя или сообщества, который создал запись. Если запись была сделана от имени группы, то значение поля будет отрицательным.

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

Еще по теме:  Как уменьшить ссылку в ВК

Параметр owner_id является идентификатором пользователя или сообщества, которому принадлежит стена. Значение поля совпадает с значением поля from_id.

Параметр text содержит текст записи.

В этом примере мы публикуем новую запись на стене пользователя или сообщества, которому принадлежит access_token, с текстом MESSAGE.

VK API WALL.POST Отправляем запись в группу методом post

Параметр date содержит дату публикации записи в формате timestamp.

В этом примере мы получаем последние 10 записей со стены пользователя или сообщества, которому принадлежит access_token.

Параметр comments содержит информацию о комментариях к записи.

В этом примере мы получаем все комментарии к записи, которая находится на стене пользователя или сообщества, которому принадлежит access_token.

Параметр likes содержит информацию о лайках к записи.

В этом примере мы добавляем лайк к записи, которая находится на стене пользователя или сообщества, которому принадлежит access_token.

Параметр reposts содержит информацию о репостах записи.

В этом примере мы делаем репост записи, которая находится на стене пользователя или сообщества, которому принадлежит access_token.

Параметр attachments содержит список вложений к записи, таких как фотографии, видео или документы.

В этом примере мы публикуем новую запись на стене пользователя или сообщества, которому принадлежит access_token, с вложениями ATTACHMENTS.

В заключении, рассматриваемый в этой статье метод wall.get VK API является очень важным для разработки приложений и ботов, основанных на VK API. Он позволяет получать записи со стены пользователя или сообщества, а также получать информацию о создателе записи, комментариях, лайках, репостах и вложениях. Надеюсь, что описанный в этой статье пример использования wall.get будет полезен для тех, кто занимается разработкой приложений и ботов для VK.

Похожие записи:

  1. VK-API: Как получить право «wall» при авторизации на сайте?
  2. Как добавить фото в сниппет ссылки wall.post VK.API?
  3. Не получается написать wall.post запрос vk api ( error_code : 3 )
  4. Почему нет доступа к методу wall.post?
  5. Постинг картинок Wall.post Вконтакте

Источник: qaa-engineer.ru

Django + API Вконтакте: постим записи с вложениями, получение списка групп и записей

Django + API Вконтакте: постим записи с вложениями, получение списка групп и записей

2014-09-15в 11:41,admin, рубрики: django, Python 2.7, админка, Вконтакте API, постинг в социальные сети

image

Доброго времени суток!

Недавно разрабатывала сайт на python/django и нужна была возможность использования API Вконтакте. А именно:

• Постинг статей с сайта на страницу во Вконтакте, а также в выбранные группы (в которых состоял администратор);
• Возможность прикрепления документов и картинок к записям;
• Получение списка групп и записей с помощью обновляющегося скрипта и загрузка всего этого в админку django.

Собственно, для администратора управление этим функционалом осуществляется через админку.

Еще по теме:  Как отключить шаги Вконтакте на айфоне

Расскажу по шагам реализацию этого функционала.

На первом этапе администратору нужно создать своё приложение во «Вконтакте», а также получить токен для работы с API. Для получения токена я использую модуль VKAppAuth (ссылка на GitHub, там же пример использования модуля).

Настройки для получения сохраняю в отдельном файле и подключаю его в models.py. В models.py добавляю поля для «Вконтакте» в модель статьи:

photo_vk = models.ImageField(upload_to=photo_vk_path, verbose_name=u’Прикрепить фото для Вконтакте’, max_length = 1000, blank=True) file_vk = models.FileField(upload_to=files_vk_path, verbose_name=u’Прикрепить документ для Вконтакте’, max_length = 1000, blank=True) wall_user_vk = models.BooleanField(verbose_name=u’Отправить на стену пользователя Вконтакте’, default=False) group_vk = models.ManyToManyField(Vk_groups, verbose_name=u’Отправить в следующие группы Вконтакте’, blank=True) group_stat = models.BooleanField(verbose_name=u’Публиковать запись от имени группы’, default=False)

Поле group_vk отображает все группы «Вконтакте» из таблицы Vk_groups. Код класса Vk_groups в models.py:

class Vk_groups(models.Model): title = models.CharField(max_length=1000, verbose_name=u’Название группы’) gid = models.CharField(max_length=1000, verbose_name=u’ID группы’) is_closed = models.BooleanField(verbose_name=u’Закрытая группа’, default=False) is_admin = models.BooleanField(verbose_name=u’Пользователь является администратором’, default=False) def __str__(self): return self.title.encode(‘utf8’) class Meta: verbose_name = «Группа Вконтакте» verbose_name_plural = «Группы Вконтакте»

Также создана модель для записей «Вконтакте». Они будут загружаться с помощью автоматически обновляемого на сервере скрипта, таким образом, в админке будут актуальные записи со страницы администратора и из групп, в которых он состоит.

class Vk_posts(models.Model): group = models.CharField(max_length=1000, verbose_name=u’Страница/группа’, blank=True) text = HTMLField(verbose_name=u’Текст записи’, blank=True) date = models.

Для модели статьи я переопределила метод save(), чтобы при сохранении какой-либо статьи происходило обращение к API Вконтакте и производилась отправка записи во «Вконтакте», если поставлены соответствующие галочки.

def save(self, *args, **kwargs): use_vk(self) model = super(Page, self).save(*args, **kwargs)

Перед сохранением вызывается функция use_vk, в которой происходит обращение к API.

Нужно отметить, что загрузчик для фото и документов выдавал некорректный путь к файлам в папках по вызову его метода url (не исключаю, что это именно у меня), поэтому я сама составляла путь до картинок и документов (переменная path).

Подробнее об этапах загрузки фото или документа к записи:

a) Отправка запроса на получение адреса сервера Вконтакте, куда можно загрузить фото или документ;
b) Получение адреса сервера Вконтакте;
c) Формирование post-запроса по адресу сервера с загрузкой на него документа или фото;
d) При успешной загрузке получение ответа с идентификатором загруженного документа или фото;
e) Формирование списка атрибутов для размещения записи во Вконтакте, в числе которых идентификатор фото или документа.

После прикрепления фото/документа используется завершающий метод API vk.wall.post(**params), отправляющий запись на стену администратора/группы запись.

Для получения списка групп и сохранения новых записей из групп и со стены администратора используется скрипт, который автоматически обновляется на сервере в заданное время. Данный скрипт получает настройки django, импортирует к себе необходимые модели и файл получения токена, а затем через API получает группы администратора, записи со стены/из групп и обновляет таблицы базы данных:

Еще по теме:  Как сохранить видео из ВК в галерею

import sys import time sys.path = [‘C:/site/umc/’] + sys.path from django.core.management import setup_environ import settings setup_environ(settings) from www.models import Vk_groups, Vk_posts from umc.vk_response import * count_posts = 15 def get_posts(owner_id, g_name): «»»Функция получения записей со стены администратора и групп и добавление новых записей в таблицу Vk_posts»»» params = answer = vk.wall.get(**params) for i in range(count_posts): params = < ‘group’: g_name, ‘text’: answer[i+1][‘text’], ‘date’: time.strftime(«%Y-%m-%d %H:%M:%S+06:00», time.localtime(answer[i+1][‘date’])) >try: Vk_posts.objects.get_or_create(**params) except: params[‘text’] = u’Невозможно отобразить текст статьи’ Vk_posts.objects.get_or_create(**params) #добавление новых групп в таблицу Vk_groups params = answer = vk.groups.get(**params) for i in range(answer[0]): Vk_groups.objects.get_or_create(title = answer[i+1][‘name’], gid = ‘-‘ + str(answer[i+1][‘gid’]), is_admin = answer[i+1][‘is_admin’], is_closed = answer[i+1][‘is_closed’]) #добавление новых записей из групп в таблицу Vk_posts groups = Vk_groups.objects.all() for g in groups: get_posts(g.gid, g.title) #добавление новых записей со стены пользователя в таблицу Vk_posts user = vk.users.get(uid = my_id) get_posts(my_id, user[0][‘first_name’]+ ‘ ‘ + user[0][‘last_name’])

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

Надеюсь, статья была полезной.

Всем приятной работы с Django!

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

Курсы javascript

День добрый.
Был найден код, а как его переделать, не ясно
Суть — методом wall.get получаем записи со стены сообщества vk. В этом методе как раз и указали что получить надо 2 записи.

$(document).ready(function() < vk(‘1111114141’); >); function vk(id) < $.ajax(< url: ‘https://api.vk.com/method/wall.get?owner_id=-1111114141count=2).done(function(json) < var data = json.response[1], date = new Date(parseInt(data.date) * 1000), time = date.getFullYear() + ‘-‘ + (date.getMonth() + 1) + ‘-‘ + date.getDate() + ‘ ‘ + date.getHours() + ‘:’ + (date.getMinutes() + 1) + ‘:’ + date.getSeconds(), poto = », html = »; if (data.attachment != null data.attachment != undefined) < if (data.attachment.type == ‘photo’) < poto += ‘

‘ > > var url = < link: ‘https://vk.com/’, tag: ‘https://vk.com/feed?section=searchhtml += »; html += ‘ ‘; html += ‘ ‘; html += ‘ ‘; html += »; html += ‘ ‘; html += ‘ ‘; html += ‘ ‘; html += ‘ ‘ + relative_time(time) + ‘ ago’; html += »; if (data.text != null data.text != undefined) < html += ‘ ‘; html += urltag(data.text, url); html += »; > html += »; html += »; html += poto; html += »; $(‘#feed’).append(html); _vk(‘1111114141’); >); >

Но по итогу выводится только одна запись

«Surveyjs подключение | Дано натуральное число n. Найти количество его делителей, что кратные 3. »

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

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