Vk wall post Пример

Появилась задача выкладывать посты(просто с текстом) в сообщество Вконтакте, помогите как осуществить данную задачу через python Решение:

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

import requests message = «hello world» params = ( (‘v’, ‘5.107’), (‘access_token’, «token»), (‘owner_id’, id), #если нужно выкладывать в паблик параметр должен быть отрицательным (‘message’, message), (‘friends_only’, 0), (‘from_group’, 1) ) response = requests.get(‘https://api.vk.com/method/wall.post?’, params=params) print(response.text)

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

Публикация на стене Вконтакте средствами API — кросспостинг

Метод, который мы рассмотрим ниже, позволяет размещать информацию на страницах любого пользователя или группы,

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


к которому имеет доступ авторизованный пользователь.

Кросспосотинг — умышленное автоматическое, полуавтоматическое или ручное помещение одной и той же статьи, ссылки или темы, в форумы, блоги, либо иной формы сайты или публичные переписки, в том числе и в режиме онлайнового общения с целью наращивание ссылочной массы и показателей тИЦ и Google PR, привлечение трафика с бесплатных блог-площадок, увеличение популярности в блогосфере (создание имиджа).

Исходя из выше следующего мы делаем вывод, что кросспостинг активно способствует развитию веб-сайта и является эффективной тенденцией, освоенной, на сегодняшний день, далеко не каждым сайтом. К нашему большому удивлению вопрос кросспостинга одного из популярных соц. ресурсов рунета практически не освещен — нам не удалось найти ни одной полноценной, свежей, рабочей статьи по данному вопросу. В связи с этим мы берем на себя ответственность просветить нашего читателя и предложить на публичное обозрение метод организации кросспостинга с соц. сетью «Вкотакте».

Метод который мы рассмотрим ниже позволяет размещать информацию на страницах любого пользователя или группы к которому имеет доступ авторизованному пользователю.

Ресурс «Вконтакте» имеет некоторые ограничения в вызове методов API для различных типов приложений. Полную и актуальную информацию по данному вопросы вы сможете найти в разделе документация .

Кросспостинг Вконтакте средствами API

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

Прежде всего необходимо создать Standalone-приложение. Сделать это можно следуя следующим пунктам:

  1. Перейдем в раздел разработчикам и нажмем кнопку «Создать приложение».
  2. Выбираем тип приложения «Standalone-приложение» и вводим любое имя приложения. Например: Auto msg.
  3. После нажатия по кнопке «Подключить приложение» у вас затребуют код, который придет вам в виде СМС в течении минуты на мобильный номер телефона указанный в профиле пользователя под которым вы авторизованы.
  4. Отлично! У Вас уже есть standalone-приложение.

PS в дальнейшем информацию вашего приложения вы можете редактировать на странице Приложения .

Wall.post для VK Пример как сделать пост в сообщество группу через Python

PSS Кстати, вы не сможете удалить созданные вами приложения. После осознания этой информации у нас задергался левый глаз и зачесалась правая пятка! Мы не привыкли работать с сервисами, где нет возможности вернуться на исходную!

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

  1. Переход на страницу Приложения и жмем кнопку «Настройки». Далее ищем ваше созданное приложение в разделе «Администрируемые приложения» и жмем кнопку «Редактировать».
  2. При желание вы можете пройтись по всем вкладкам и заполнить все необходимые для вас поля.
  3. Переходим на вкладку «Настройки» и заполняем обязательные поля: адрес сайта, Базовый домен (домены которым разрешен доступ к API). Значение «ID приложения» вам необходимо запомнить, оно нам пригодится в дальнейшем.
  4. Не забудьте сохранить изменения.
Еще по теме:  ВК как сделать ссылку на звонок

Далее что нам необходимо — это получить доступ вашего сайта к методам API. Для этой процедуры ВК использует Авторизация на базе OAuth 2.0 . Принцип авторизации очень простой:

  1. Формируем ссылку http://api.vkontakte.ru/oauth/authorize?client_id=redirect_uri=http://api.vk.com/blank.html
    scope — запрашиваемые права доступа приложения, которые можно перечислять через запятую. В данном случае приложение запрашивает доступ к API со стороннего сервера в любое время (offline) и wall – доступ к методам работы со стеной;
    redirect_uri — ссылка для возврата ответа сервера. В нашем случае обязательный параметр равный http://api.vk.com/blank.html , т.к. только данный способ авторизации имеет возможность получить доступ к методам работы со стеной.
    response_type — собственно тот параметр который мы хотим получить — access_token.
  2. Переходим по получившейся ссылке( в этот момент вы должны быть авторизованы) и разрешаем доступ приложению.
  3. Далее Вас перебрасывает на ссылку http://api.vk.com/blank.html с рядом параметров. Нужный нам параметр access_token. Копируем его значение куда-нибудь. Оно нам необходимо для доступа к API.

И так поздравляем Вас — вы получили свой ключ доступа для вызова методов API. При помощи данного ключа вы сможете обращаться к методам API со своего сайта от имени авторизованного пользователя. Дело осталось за малым — научиться постить на доску Вконтакте средами API. В этой затее нем ничего сложного как и в прошлых шагав получения доступа к API:

    Формируем GET запрос https://api.vk.com/method/wall.post?owner_id=from_group=attachments=-«.
    friends_only — 1 — запись будет доступна только друзьям, 0 — всем пользователям. По умолчанию публикуемые записи доступны всем пользователям.
    from_group — Данный параметр учитывается, если owner_id < 0(запись публикуется на стене группы). 1 — запись будет опубликована от имени группы, 0 — запись будет опубликована от имени пользователя (по умолчанию).
    message — текст сообщения (является обязательным, если не задан параметр attachments)
    attachments — список объектов, приложенных к записи и разделённых символом «,». Поле attachments представляется в формате:
  • photo — фотография;
  • video — видеозапись ;
  • audio — аудиозапись;
  • doc — документ;
  • page — wiki-страница;
  • note — заметка;
  • poll — опрос.
  • album — альбом.

photo100172_166443618,photo66748_265827614

Также в поле attachments может быть указана ссылка на внешнюю страницу, которую Вы хотите разместить в записи, например:

photo66748_265827614, http://habrahabr.ru

При попытке приложить больше одной ссылки будет возвращена ошибка.

Заключение

В заключение мы хотели бы отметить, что организация кросспостинговой системы с соц. сетью «Вконтакте» задача не сложная, и ,не смотря на немногочисленные ошибки в документации для разработчика, методология работы с API вполне доступно и достойно описана. Теперь Вы владеете знанием о принципе организации кросспостинговой системы с соц. сетью «Вконтакте». Обладая знаниями данного принципа у вас не возникнет затруднений в реализации кроспостинга на любом языке программирования. Хотим еще раз отметить инновационность и значимость данного метода раскрутки ресурсов, который позволяет охватить большую предполагаемую аудиторию и, как следствие, повысить посещаемость, тиц, Google PR, привлечение трафика с бесплатных блог-площадок, увеличение популярности в блогосфере (создание имиджа).

Лучший способ сказать автору «СПАСИБО» рассказать друзьям или поделиться ссылкой!
Другие статьи:

Всплывающая фиксированная навигация для сайта jQuery, CSS - инструкция, примеры

В этой статье Мы покажем Вам, как сделать так, чтобы шапка сайта выезжала при прокрутке страницы вверх, но при этом скрывалась при прокрутке страницы вниз, чтобы не загораживать нам просмотр самой страницы.

Еще по теме:  Как Вконтакте собрать деньги на проект
Всплывающая фиксированная навигация для сайта jQuery, CSS — инструкция, примеры

Плагин DateTimePicker для сайта - инструкция, настройка, инициализация

DateTimePicker – удобный и легкий в использовании плагин для быстрой подстановки даты и времени в поля ввода.

Плагин DateTimePicker для сайта — инструкция, настройка, инициализация

Плагин маски ввода для input - jquery maskedinput - инструкция, настройка, инициализация

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

Плагин маски ввода для input — jquery maskedinput — инструкция, настройка, инициализация

Чтение excel на PHP - основные методы класса PHPExcel

С помощью PHPExcel можно производить чтение и запись информации в файлы, форматировать их содержимое,выполнять операции с формулами, стилями и т.д.

Чтение excel на PHP — основные методы класса PHPExcel

TinyMCE вырезает теги - исключения для тегов TinyMCE

Текстовый редактор TinyMCE в визуальном режиме при стандартной конфигурации обрезает некоторый теги и свойства.

TinyMCE вырезает теги — исключения для тегов TinyMCE

Cвойства и методы TinyMCE - вставка тегов, вывод значений

Научимся вставлять теги в выделенный фрагмент текста, вставлять теги на место селектора в тексте и получать средствами JS HTML код отредактированного текста и текст без HTML сущностей.

Cвойства и методы TinyMCE — вставка тегов, вывод значений

Установка и настройка TinyMCE - инициализация и параметры

Как вы уже поняли, редактор является платформенным Javascript редактором HTML кода, т.е. WYSIWYG редактором для сайтов и веб приложений. Разработчиком этого полезного продукта является компания Moxiecode Systems AB.

Установка и настройка TinyMCE — инициализация и параметры

В статье мы: познакомимся с каруселью; научимся интегрировать ее на свой сайт; познакомимся с основными параметрами инициализации;рассмотрим самые популярные свойства и методы классов jCarousel

Установка и настройка jCarousel — параметры и методы

Инструкция SMTP PHPMailer - свойства и методы класса

Любой backend программист php сталкивается с задачей автоматизации почтовой рассылки на веб сайтах и многие,кто сталкивался с данной задачей впервые, вставали перед ключевым вопросом: «Писать или не писать smtp клиент с нуля?».

Источник: r-band.ru

Automated posting on Vkontakte public pages using VK API and Python

Alexander V. Leonov

Alexander V. Leonov

Vk.com (Vkontakte) is the most popular social network Russia and Ex-USSR with 430+ million users. Traditional advantages of vk.com – huge amount of free music and video. The service allows users to upload and share files and for a long time was quite tolerant to piracy. In 2016 Mail.Ru Group, Vkontakte parent company, has solved all problems with major music labels and now works closely with the rights holders.

VKontakte has very efficient features for creating communities: public pages (blogs) and groups (open and closed web-forums). In VK communities you can easily share news, photo, audio, video, text files in different formats, create discussions topics and wiki-pages. When I was studying at the University in 2003-2009, to share information in a study group we needed to create our own website and phpBB-based forum. Now practically all students simply use VKontakte groups for this. VKontakte shows all content in groups as is, without hiding and filtering.

With reach automation capabilities, you can do various interesting things based on VK. For a start, I decided to post all annotations from my https://avleonov.com blog to https://vk.com/avleonovcom Vkontakte page. I created this page in web GUI and filled it with content automatically using my own python scripts.

Creating a new application

I want to work with Vkontakte from my Python scripts. So, I will need to create a new Standalone Application for this. You can do it here: https://vk.com/editapp?act=create

Еще по теме:  Как создать рекламу в ВК для группы

vk new application

Upd. March 2018 Integration with Vkontakte suddenly broke, because they added mandatory version parameter to all calls.

Getting sms code for confirmation. And now I have a new application:

vk application settings

I changed status to “Application on and visible to all”.

Getting page info

Now let’s try to do something. All available methods are listed at https://vk.com/dev/methods

For most of the methods token authentication required. For example, using community token, you can do some operations on your page. Let’s get it. I go to the page https://vk.com/avleonovcom?act=tokens

Select required rights for a new access token:

  • Allow the application to control the community
  • Allow access to community messages
  • Allow access to community photos
  • Allow access to community documents

Getting sms code for confirmation. And now I have a token:

vk new token created

Now let’s get information about the group:

#!/usr/bin/python import community_token = «3bXXXXXXXXXXXXXXXXa3» params = ( (‘group_id’, ‘avleonovcom’), (‘access_token’, community_token), ) response = requests.get(‘https://api.vk.com/method/groups.getById’, params=params) print(response.text)

Response in Json:

Creating a post

Ok, now let’s see how to post something on a community wall https://vk.com/dev/wall.post

For this I need user token. I will try “Implicit Flow” for User Access Token.

I simply open this url in browser:

https://oauth.vk.com/authorize?client_id=6096665redirect_uri=https://oauth.vk.com/blank.htmlresponse_type=tokenexpires_in=0bdXXXXXXXXXXXXXXXX49″ params = ( (‘owner_id’, ‘-149273431’), (‘from_group’, ‘1’), (‘message’, ‘Hello world!’), (‘access_token’, user_token), ) response = requests.get(‘https://api.vk.com/method/wall.post’, params=params) print(response.text)

vk post hello world

First automatically posted message! Great!

Ok, now let’s try to post url with some text and photo

params = ( (‘owner_id’, ‘-149273431’), (‘from_group’, ‘1’), (‘message’, ‘Hello world2!’), (‘message’, ‘photo1468099_456239095,https://avleonov.com’), (‘access_token’, user_token), ) response = requests.get(‘https://api.vk.com/method/wall.post’, params=params) print(response.text)

vk post hello world 2

All necessary elements are here: multiline, hashtags, urls and pictures. It’s a pitty that I can’t specify image for any url, like I can do it in GUI.

As you see, I have used picture ID photo1468099_456239095 from my personal page. So, let’s also see how to add pictures to the community page.

Creating a new photo album

First of all, I need a photo album at my page. I can create it manually or use this method https://vk.com/dev/photos.createAlbum

params = ( (‘group_id’, ‘149273431’), (‘title’, ‘blog illustrations’), (‘description’, ‘images from avleonov.com’), (‘upload_by_admins_only’, ‘0’), (‘comments_disabled’, ‘0’), (‘access_token’, user_token), ) response = requests.get(‘https://api.vk.com/method/photos.createAlbum’, params=params) print(response.text)

Ok, here is my new album:

Now let’s add images to this album.

Uploading images

First of all, I need to ask Vk what server I can use for uploading images in particular community and album: https://vk.com/dev/photos.getUploadServer

params = ( (‘group_id’, ‘149273431’), (‘album_id’, ‘245830662’), (‘access_token’, user_token), ) response = requests.get(‘https://api.vk.com/method/photos.getUploadServer’, params=params) print(response.text)

Getting url from this json:

import json upload_server = json.loads(response.text)[‘response’][‘upload_url’] print(upload_server)

Now I can upload image file petya.png to the server using this url

files = response = requests.post(upload_server, files=files) print(response.text)

Getting necessary parameters:

img_hash = json.loads(response.text)[‘hash’] photos_list = json.loads(response.text)[‘photos_list’] server = json.loads(response.text)[‘server’]

And finally save uploaded file to the photo album: https://vk.com/dev/photos.save

params = ( (‘group_id’, ‘149273431’), (‘album_id’, ‘245830662’), (‘hash’, img_hash), (‘photos_list’, photos_list), (‘server’, server), (‘caption’, ‘test image’), (‘access_token’, user_token), ) response = requests.get(‘https://api.vk.com/method/photos.save’, params=params) print(response.text)

vk new illustration

Note! The server returns the ID photo1468099_456239022. This is my user ID. And the page ID is 149273431. I do not know why this ID is returned. So, I edit id with this substitution:

photo_id = re.sub(«photo1468099», «photo-149273431», photo_id)

So, now we can add pictures to community photo album. We can make a post from the image identifier, text description and the web-link. This is enough to make a successful integration of your site with your Vkontakte page.

Note! There is a limit, you can create no more than 50 posts per day on the wall!

Источник: avleonov.com

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