Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290

Постинг нескольких фоток в группу ВК

24.10.2023, 14:21. Показов 2639. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Второй день бьюсь в поисках и никак не найду ответ. Текст и одна фотка постятся без проблем, но как передаю несколько фоток, постится только текст. В инете ничего путного на это не нашел.

Добавлено через 25 минут
Отбой! Ну и черти же эти ВК! Из их чертовой документации:
Code
1
2
3
4
5
6
7
8
9
10
К записи можно приложить медиа или ссылку на внешнюю страницу. Если объектов несколько, укажите их через запятую ,.
 
Формат описания медиавложения: {type}{owner_id}_{media_id}, где:
 
    •
    type — тип медиавложения:
        •
        photo — фотография.
...
owner_id — идентификатор владельца медиавложения. Идентификатор сообщества должен начинаться со знака -
В итоге я 2 дня пихал ему во вложения файлы в таком описании:
Code
1
photo-223104372_457239068,photo-223104372_457239069
а получилось в таком варианте:
Code
1
photo624588792_457239072,photo624588792_457239073
И то увидел это только после того как решил посмотреть что же возвращается при постинге одной фотки. Ну не козлы???
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.10.2023, 14:21
Ответы с готовыми решениями:

Постинг в группу
Здраствуйте! Делаю пост в группу: $query =...

Конструктор предложений и их постинг в группу ВК
Здравствуйте, хочу создать приложение в котором можно быстро составлять предложения и отправлять их в группу ВК. Но в программировании я...

Одноклассники API постинг в группу
Всем привет. Хочу сделать постинг новостей с сайта в группу, но не могу разобраться в документации. Подскажите кто сталкивался с этим,...

30
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
25.10.2023, 15:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от gogolik Посмотреть сообщение
"Запись публикуется от имени сообщества." Не медиавложение.
С каких пор attachments - это запись?
И зачем тогда и там же, в аттачменте написано "Идентификатор сообщества должен начинаться со знака -."?

Цитата Сообщение от gogolik Посмотреть сообщение
Здесь. И всё за тебя подставит, и запрос сделает корректный, и ошибки покажет.
И где там песочница? Нет там ничего кроме букв. Во всяком случае для неавторизованного юзера.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2067 / 830
Регистрация: 13.03.2010
Сообщений: 6,821
25.10.2023, 15:58
Лучший ответ Сообщение было отмечено gogolik как решение

Решение

Lazor, очень удобно читать только то, что хочешь видеть. Предлагаю разобраться вместе, откуда же тут ноги везде растут.

Переходим на страницу необходимого запроса.
Этот запрос размещает пост на стене юзера или сообщества.
Изучаем параметры, которые нам предлагают заполнить. Видим среди них from_group:

Из описания параметра чётко видно, что он влияет на принадлежность записи юзеру или сообществу. К атачментам (медиавложениям) этот параметр не имеет никакого отношения.

Далее, нас интересует непосредственно параметр attachments:

Каждое медиавложение должно быть в формате строки вида {type}{owner_id}_{media_id}, где с type и media_id всё понятно. Разберёмся же, что такое owner_id.
owner_id - идентификатор владельца медиавложения. (с) Т.е. этот идентификатор возвращается нам в результате запроса photos.saveWallPhoto. Идём читать описание этого запроса и его ответа:

В данном случае мы передаём id группы (group_id), для которой предназначается медиавложение (фото), само фото (photo) и прочую не касающуюся вопроса информацию, полученную в результате загрузке фото.

Важное примечание: возможно, владелец фото определяется на этапе загрузки фотографии, где можно указать group_id, а не от принадлежности ключа. Обращаю на это внимание pixel.

В ответе получаем в том числе объект загруженного фото, где есть owner_id. И вот уже на этом этапе у нас определяется, кто является владельцем медиавложения. И если этот параметр не совпадает с id сообщества, на стене которого должна быть опубликована запись с искомым медиавложением, то скорее всего это id юзера, а не сообщества, и минус перед id ставить не нужно.

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

Цитата Сообщение от Lazor Посмотреть сообщение
И где там песочница? Нет там ничего кроме букв. Во всяком случае для неавторизованного юзера.
Прямо по ссылке. Подозреваю, что все параметры (в том числе токен) должны быть валидными. Нет ручек - нет конфетки. (с)
0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
25.10.2023, 17:17  [ТС]
Цитата Сообщение от gogolik Посмотреть сообщение
Не так сложно ведь было разобраться, правда?
Когда докопался уже до самого низа - действительно ничего сложного. Теперь другое долбит. Что иногда подцепляешь 4 снимка а идентификаторы выдаются только на 3. И это никак не связано. В один момент все 4 прикрепит, в другой 3. Как будто обработка срывается. Может из за загруженности или еще чего. Но как с этим бороться то? А то вся затея теряет смысл.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2067 / 830
Регистрация: 13.03.2010
Сообщений: 6,821
25.10.2023, 17:31
pixel, тут только вопрос, действительно ли влияет при загрузке фото group_id на владельца фото или нет? Не пробовали?

По другому вопросу не подскажу. Нужно смотреть на то, что возвращается после запроса. Возможно, по одному из фото возвращается ошибка (например, про размер или ещё что). Можно в случае ошибки пробовать несколько ретраев отправки делать.
Не может быть так, что запрос ничего не вернул (даже если это пустое тело с кодом 200).
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
25.10.2023, 18:57
Цитата Сообщение от gogolik Посмотреть сообщение
Не так сложно ведь было разобраться, правда?
Т.е. Нужно пройти весь этот квест..
Вместо того что бы сразу написать нормально.


Цитата Сообщение от gogolik Посмотреть сообщение
Прямо по ссылке.
Ещё раз - где ты видишь песочницу?



Или что ты назвал песочницей?
0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
25.10.2023, 19:46  [ТС]
gogolik, я делаю вардамп, и смысл следующий, там типа массива и 3 ячейки заполнены, а четвёртая NULL. Хотя в чем разница? Цикл передаёт из массива данные в апи, а возврат сбоит. По размеру или ещё что - сразу отпадает. Я же размещаю фотки на сайте, и после уже футболю в вк. А перед размещением на сайте, все фотки режутся до размера 1000 px по ширине, если фотка вертикальная то вообще 800 px. Просто мне надоели мои юзверя которые фотку то 1200x600 то 4350x3500 пришлют. Размеры от балды - не помню точных параметров, но разрыв такой. И каждую фотку вылизывать ни времени, ни желания нет. Потому прокладку и накидал. Где то встречал мысль ставить задержку при посылке каждого запроса на ид.

Добавлено через 6 минут
Lazor, это с мобилы ничего нет. Если с компа, ниже кодов ошибок типа формы с параметрами, заносишь туда токен и оунер айди, месседж и отправляешь, если все корректно, присылается ответ с идом поста. Замута интересная, но если бы кроме формы предоставили ещё и рабочий код, реализующий функционал - вопросы бы отпадали сразу.
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
25.10.2023, 20:14
Цитата Сообщение от pixel Посмотреть сообщение
это с мобилы ничего нет. Если с компа
Я с компа. Скрин полной страницы я показал.

О, блин, оказывается форум его здорово помял.. вот тут полностью i.imgur(dot)com/B1ZtxhR.jpeg
0
Эксперт PHP
 Аватар для liris
4403 / 1043 / 154
Регистрация: 16.01.2023
Сообщений: 2,581
25.10.2023, 20:16
Цитата Сообщение от Lazor Посмотреть сообщение
Ещё раз - где ты видишь песочницу?
Я думаю речь об этом конструкторе. Он встречается не на всех страницах, но например вот тут есть.
Миниатюры
Постинг нескольких фоток в группу ВК  
1
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
25.10.2023, 20:21
Цитата Сообщение от liris Посмотреть сообщение
Я думаю речь об этом конструкторе. Он встречается не на всех страницах, но например вот тут есть.
У меня его нет... Даже если адблок отключить.
i.imgur(.)com/rGnv17A.jpeg (смысла помещать в пост нет - форум сжимает до нечитабельности)
0
Эксперт PHP
 Аватар для liris
4403 / 1043 / 154
Регистрация: 16.01.2023
Сообщений: 2,581
25.10.2023, 20:31
Цитата Сообщение от Lazor Посмотреть сообщение
У меня его нет... Даже если адблок отключить.
Проверил. У меня его тоже нет, если смотреть без авторизации.
Таким образом мы выяснили, что конструктор доступен только пользователям vk.
1
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2067 / 830
Регистрация: 13.03.2010
Сообщений: 6,821
25.10.2023, 23:55
Цитата Сообщение от Lazor Посмотреть сообщение
Т.е. Нужно пройти весь этот квест..
Никакого квеста, если делать сразу нормально и читать документацию, а не бросаться с головой в один метод без разбора сопутствующих.

Цитата Сообщение от pixel Посмотреть сообщение
я делаю вардамп, и смысл следующий, там типа массива и 3 ячейки заполнены, а четвёртая NULL.
Странно. Можно отправлять с задержкой, конечно, но это костыль. Я бы попробовал обратиться в саппорт, может подскажут чего. По идее, api не может вернуть null, обязательно код ошибки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2023, 23:55
Помогаю со студенческими работами здесь

Авто постинг тем в группу однокласников
Здравствуйте, посоветуйте программу или сервис, для автопостинга тем в группы одноклассников (свои группы), чтобы вручную не настраивать в...

Как осуществить постинг в группу facebook через api javascript?
Добрый день, Есть необходимость размещать обычные текстовые посты в группу на facebook, вледельцем которой является владелец...

Постинг нескольких фотографий в facebook
Всем привет! Использую метод 'https://graph.facebook.com/me/photos' и к нему в параметрах прикрепляю url на фото, но к сожалению...

Заливка нескольких фоток к постам/записям Програмно и Массово - Без использования побочных плагинов импорта
я новичёк - пытаюсь изучить механику вордпресса, потому ногами сильно не пинать! Помогите с примером функции заливки фоток к...

Объединить данные из нескольких групп столбцов на разных листах в одну группу столбцов на новом листе с обновлением
Добрый день. Прошу помочь с макросом для решения следующей задачи. Имеем книгу с некоторым количеством листов. Может быть разным. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru