attachment vk api php

Автоматический постинг в ВК wall.post с attachment

Ваяем автоматический постинг в ВК wall.post с attachment (фото) на PHP. Погнали.
В ВКонтакте хоть и есть документация, но с wall.post есть особенности. Для начала регистрируем приложение и оно должно быть Standalone, настройки такие:

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

Первым делом получим токен (я использовал класс за авторством Dmitriy Nyashkin:

Токен надо получить 1 раз, т.е. два разных скрипта — один только для получения токена, второй — для постинга записей себе или в группу/сообщество.

И, пожалуй, самое попадалово, что при добавлении фотографии её название (caption) надо прогнать urlencode. Нетривиальная особенность, а в документации про это ничего не сказано (или я слепой).

У меня таким макаром постятся фото, новые записи из блога и юбилейные даты из Петербургского календаря. По времени создания записей видно что они автоматические.

Здравствуйте! Я — Андрей Панёвин и занимаюсь профессиональной разработкой сайтов на платформе 1С-Битрикс (исключительно программирование). Есть вопросы по статье или нужно реализовать доработки по программной части? Могу подсказать и помочь по скайпу (andrey.panevin.ru), WhatsApp (+7-911-091-0670), Telegram (@panevin_ru) или перепиской в ВК.
1000 р./час. Часовой пояс — московский.

attachment vk api php

Помогла статья? На поездку на море (Охотское):

Источник

Attachment vk api php

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

Для публикации предложенных и отложенных записей используйте параметр post_id, значение для которого можно получить методом wall.get с filter=suggests и postponed соответственно.

owner_idидентификатор пользователя или сообщества, на стене которого должна быть опубликована запись.

Обратите внимание, идентификатор сообщества в параметре owner_id необходимо указывать со знаком «» — например, owner_id=-1 соответствует идентификатору сообщества ВКонтакте API (club1)

friends_only1 — запись будет доступна только друзьям, 0 — всем пользователям. По умолчанию публикуемые записи доступны всем пользователям.

from_groupданный параметр учитывается, если owner_id _

Формат описания ссылки:

— протокол HTTP или HTTPS.
— оставшаяся часть URL.

Формат для перечисления объектов:

Обратите внимание, можно указать несколько медиа-приложений, но только одну ссылку. Если указать больше одной ссылки, будет возвращена ошибка.

Источник

Attachment vk api php

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

Процесс загрузки любого файла состоит из трех стандартных этапов:

1. Получение адреса для загрузки.
2. Передача содержимого файлов на полученный адрес в формате multipart/form-data.
3. Сохранение информации о загруженном файле.

Детали процесса загрузки (например, название поля с файлом в POST-запросе) могут различаться в зависимости от типа файла. Ниже представлено подробное руководство для всех типов медиаконтента.

Допустимые форматы: JPG, PNG, GIF.

Ограничения: не более 5 фотографий за один раз, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ, соотношение сторон не менее 1:20.

Вызовите метод photos.getUploadServer, чтобы получить адрес для загрузки фото. Для загрузки фотографии в сообщество необходимо передать идентификатор сообщества в параметре group_id.

Передайте файлы на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полями file1file5. Эти поля должны содержать изображения в формате multipart/form-data.

После успешной загрузки сервер возвращает в ответе JSON-объект с полями server, photos_list, hash, aid:

Поля server и aid содержат числовые значения, в hash возвращается строка, а в поле photos_list находится строка с JSON-объектом, структуру которого важно сохранить в исходном виде. В PHP Вы можете использовать json_decode() для всего ответа.

Допустимые форматы: JPG, PNG, GIF.

Ограничения: не более 6 фотографий за один раз в методе photos.saveWallPhoto, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ, соотношение сторон не менее 1:20.

Поле POST-запроса: photo.

Вызовите метод photos.getWallUploadServer, чтобы получить адрес для загрузки фото. Для загрузки фотографии в сообщество необходимо передать идентификатор сообщества в параметре group_id.

Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем photo. Это поле должно содержать изображение в формате multipart/form-data.

После успешной загрузки сервер возвращает в ответе JSON-объект с полями server, photo, hash:

Поле server содержит числовое значение, в hash возвращается строка, а в поле photo находится JSON-объект, структуру которого важно сохранить в исходном виде. В PHP Вы можете использовать json_decode() для всего ответа.

Чтобы сохранить фотографию, вызовите метод photos.saveWallPhoto с параметрами server, photo, hash, полученными на предыдущем этапе.

Допустимые форматы: JPG, PNG, GIF.

Ограничения: размер не менее 200x200px, соотношение сторон от 0.25 до 3, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ, соотношение сторон не менее 1:20.

Поле POST-запроса: photo.

Вызовите метод photos.getOwnerPhotoUploadServer, чтобы получить адрес для загрузки фото. Для загрузки главной фотографии сообщества необходимо передать его идентификатор со знаком «минус» в параметре owner_id.

Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем photo. Это поле должно содержать изображение в формате multipart/form-data.

Дополнительно Вы можете передать параметр _square_crop в формате «x,y,w» (без кавычек), где x и y — координаты верхнего правого угла миниатюры, а w — сторона квадрата. Тогда для фотографии также будет подготовлена квадратная миниатюра.

После успешной загрузки сервер возвращает в ответе JSON-объект с полями server, photo, mid, hash, message_code, profile_aid:

Поля server, mid, message_code, profile_aid содержат числовые значения, а в полях hash и photo возвращаются строки.

Чтобы сохранить фотографию, вызовите метод photos.saveOwnerPhoto с параметрами server, photo, hash, полученными на предыдущем этапе.

Допустимые форматы: JPG, PNG, GIF.

Ограничения: сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ, соотношение сторон не менее 1:20.

Поле POST-запроса: photo.

Вызовите метод photos.getMessagesUploadServer, чтобы получить адрес для загрузки фото.

Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем photo. Это поле должно содержать изображение в формате multipart/form-data.

После успешной загрузки сервер возвращает в ответе JSON-объект с полями server, photo, hash:

Поле server содержит числовое значение, в hash возвращается строка, а в поле photo находится JSON-объект, структуру которого важно сохранить в исходном виде. В PHP Вы можете использовать json_decode() для всего ответа.

Источник

Автоматическая публикация статей на стене вашей группы во ВКонтакте с помощью VK API

attachment vk api php

attachment vk api php

Автоматический постинг статей или ссылок в группе сайта ВКонтакте весьма удобная и полезная вещь! В данной статье мы вам подробно покажем, с примером, как сделать эту фишку. Хватит лирики, к делу!

1. Вам нужно создать Standalone-приложение, у которого нет ограничений на выполнение API для публикации сообщений в группу этой социальной сети. После создания приложения вам понадобится ввести код из смс, который нужно подтвердить. После успешного ввода ваше приложение будет создано и вам нужно включить приложение (изменить его состояние), а так же скопировать ID приложения и Защищённый ключ.

attachment vk api php

attachment vk api php

2. Теперь для выполнения API вам потребуется получить оffline access token, который генерируется следующим запросом прямо в браузере:

Где app_id — ID вашего приложения. При переходе по такой ссылке, ВКонтакте запросит доступ, разрешите ему.

attachment vk api php

При успешном переходе по данному адресу вы получите значение access_token на странице заглушки (https://oauth.vk.com/blank.html), его скопируйте и сохраните. Не кому не показывайте access_token!

attachment vk api php

3. Теперь вам понадобиться ID вашей группы ВКонтакте. ID группы можно узнать по https://vk.com/public12345678, где в данном случае id является: 12345678. Если у вашей группы адрес вида https://vk.com/name, то зайдите в любой альбом группы и в адресной строке браузера вы увидите подобное этому album-55044319_182468078 где 55044319 и есть ID вашей группы.

4. Ну и осталось только написать php код, который и будет делать постинг:

Источник

Публикация записей на стену сообщества VK

Для начала вы должны быть авторизированы в VK и являться администратором группы или страницы. Далее нужно создать приложение.

Создание приложения

attachment vk api php

В настройках приложения включаем Open API, указываем адрес своего сайта и базовый домен, там же находится ID приложения и защищенный ключ.

attachment vk api php

Получаем access token

Этап 1

Нужно получить права и секретный код. Формируем URL подставляя данные своего приложения и вставляем его в браузер.

https://oauth.vk.com/authorize?client_id= ID_ПРИЛОЖЕНИЯ &display=page
&redirect_uri=https://api.vk.com/blank.html&scope=offline,wall,photos
&response_type=code

В ответе получаем в секретный код.

Этап 2

https://oauth.vk.com/access_token?client_id= ID_ПРИЛОЖЕНИЯ
&client_secret= ЗАЩИЩЕННЫЙ_КЛЮЧ &redirect_uri=https://api.vk.com/blank.html
&code= СЕКРЕТНЫЙ_КОД

Далее используем полученный токен в запросах к VK API:

Пост с ссылкой

Следующий PHP-код добавит пост с текстом и ссылкой на сайт.
Описание метода wall.post на https://vk.com/dev/wall.post

Результат

attachment vk api php

Картинка в ссылке берется с сайта. VK пытается найти картинку в тексте страницы, но можно ее указать мета-тегом в страницы.

Пост с картинкой

Результат:

attachment vk api php

Возможные проблемы

Функция file_get_contents() не может подключится по https, нужно включить PHP модуль openSSL.

API возвращает ошибку – error_code: 14, error_msg: Captcha needed

Это происходит из-за слишком частых запросов к API или у учетной записи VK был отвязан номер мобильного телефона.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *