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

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

24.10.2023, 14:21. Показов 2636. Ответов 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
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
24.10.2023, 14:40
Цитата Сообщение от pixel Посмотреть сообщение
Ну не козлы???
Нет, вы не следовали описанию, которое сами же и привели.
0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
24.10.2023, 14:47  [ТС]
Цитата Сообщение от gogolik Посмотреть сообщение
Нет, вы не следовали описанию, которое сами же и привели.
вообще то из за того, что я ему следовал ничего и не работало.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
24.10.2023, 14:48
pixel,
Цитата Сообщение от pixel Посмотреть сообщение
Формат описания медиавложения: {type}{owner_id}_{media_id}
Цитата Сообщение от pixel Посмотреть сообщение
а получилось в таком варианте:
Цитата Сообщение от pixel Посмотреть сообщение
photo624588792_457239072,photo624588792_ 457239073
Или сами себе противоречите?
0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
24.10.2023, 14:59  [ТС]
Цитата Сообщение от gogolik Посмотреть сообщение
photo624588792_457239072,photo624588792_ 457239073
Получилось - это значит отработало правильно. Т.е. без тире, на которое ссылается документация.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
24.10.2023, 15:08
pixel, нет там тире. И вы сами привели цитату, где его нет. Т.е. все проблемы из-за вашей невнимательности, а не из-за "козлов".
Миниатюры
Постинг нескольких фоток в группу ВК  
0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
24.10.2023, 15:17  [ТС]
Цитата Сообщение от gogolik Посмотреть сообщение
нет там тире
А это что?
Миниатюры
Постинг нескольких фоток в группу ВК  
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
24.10.2023, 16:55
pixel, id 624588792 не является сообществом. Собственно, как и id 223104372, который вы пытались скормить под видом сообщества.
0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
24.10.2023, 18:01  [ТС]
gogolik, id 223104372 это закрытое сообщество в моей учетке, которое я создал именно для тестов! А id 624588792, это тот идентификатор, который возвращает апи вк и он работает так как мне надо. Так что вк-шникам стоит проапдейтить свою документацию.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
24.10.2023, 21:10
Цитата Сообщение от pixel Посмотреть сообщение
А id 624588792, это тот идентификатор, который возвращает апи вк и он работает так как мне надо.
Потому что это id вашей страницы Значит, искомое фото было загружено не от имени сообщества, а от имени личной страницы. Естественно, его не получить через id страницы.

Не по теме:

p.s. а сообщество с таким id и правда есть. Не знал, что у vk пересекаются айдишники сообществ и юзеров.

0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
25.10.2023, 08:21  [ТС]
Цитата Сообщение от gogolik Посмотреть сообщение
Значит, искомое фото было загружено не от имени сообщества, а от имени личной страницы.
Запрос данных по фоткам происходит так:
PHP
1
2
3
4
5
6
7
8
$save = vk('photos.saveWallPhoto', [
            'group_id' => GROUP_ID, //223104372
            'server' => $upload->server,
            'access_token' => TOKEN,
            'hash' => $upload->hash,
            'photo' => $upload->photo,
            'v' => API_VERSION
        ])->response[0];
А результат для формирования id вложения получается из возвращаемых апи данных:
PHP
1
$ids[] = 'photo'.$save->owner_id.'_'.$save->id;
где owner_id = 624588792
после чего отправляю на публикацию, где и используется тире для owner_id
PHP
1
2
3
4
5
6
7
8
9
$ids=implode(',',$ids);
$post = vk('wall.post', [
                'owner_id' => '-'.GROUP_ID,
                'access_token' => TOKEN,
                'from_group' => 1,
                'message' => $_POST['t_body'],
                'attachments' => $ids,
                'v' => API_VERSION
            ]);
Но как я изначально и говорил, при формировании идентификатора медиавложения тире не требуется.
Миниатюры
Постинг нескольких фоток в группу ВК  
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
25.10.2023, 09:19
pixel, и где тут расхождение с документацией? owner_id === id личной страницы, а не сообщества, тире не нужно. Скрин вообще к делу не относится.
0
 Аватар для pixel
26 / 19 / 5
Регистрация: 19.05.2009
Сообщений: 2,290
25.10.2023, 09:22  [ТС]
Цитата Сообщение от gogolik Посмотреть сообщение
owner_id === id личной страницы, а не сообщества, тире не нужно
тогда почему в их документации это тире указано??? Именно при формировании идентификатора вложения, а не поста.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
25.10.2023, 09:52
Я умываю руки. Бесполезно что-то доказывать человеку, который не может прочитать и понять написанное.
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
25.10.2023, 09:55
Цитата Сообщение от gogolik Посмотреть сообщение
Бесполезно что-то доказывать человеку, который не может прочитать и понять написанное.
pixel, таки прав. Я тоже вчера не дочитал ман до конца и написал фигню. Благо быстро досмотрел и удалил.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
25.10.2023, 10:07
Lazor, значит, испытываете те же проблемы. В документации черным по белому всё написано и почему-то у меня вопросов не вызывает. С минусом для групп, без минуса для юзеров. Если api возвращает owner_id не равный id группы, значит это что-то другое и нужно в первую очередь задаться вопросом "а точно ли это id моей группы?"

Но нет, у нас vk - черти и козлы. Не могут нормально документацию написать.
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
25.10.2023, 11:08
Цитата Сообщение от gogolik Посмотреть сообщение
значит, испытываете те же проблемы.
Это ещё вопрос у кого какие проблемы.

В мане чётко указано что можно использовать как id юзера, так и id группы. При использовании группы нужно ставить "-".
Так? Так.

Цитата Сообщение от gogolik Посмотреть сообщение
Не могут нормально документацию написать.
Всё же не могут. Могли бы и примеры привести. Так как у всех нормальные делают.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
25.10.2023, 14:39
Цитата Сообщение от Lazor Посмотреть сообщение
В мане чётко указано что можно использовать как id юзера, так и id группы.
*вздох*
Там указано, что нужно использовать id владельца медиавложения, а не "или то, или другое". У любого медиавложения есть чёткий владелец, который указан в ключе owner_id. Если владелец - юзер, то минус не нужен. Если сообщество - нужен.

Я так полагаю, что владелец мадиавложения определяется по ключу API, который используется. Если ключ принадлежит юзеру, то и владельцем медиавложения будет юзер, а не сообщество, на стене которого это медиавложение используется.

Цитата Сообщение от Lazor Посмотреть сообщение
Могли бы и примеры привести.
В конце практически любого метода подробнейшая песочница с автоподстановкой ключей или примеры в формате "запрос-ответ". Или вообще и то, и другое.
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,115
Записей в блоге: 3
25.10.2023, 15:09
Цитата Сообщение от gogolik Посмотреть сообщение
*вздох*
Там указано, что нужно использовать id владельца медиавложения, а не "или то, или другое".
pixel даже выделил что там написано. То, что ты на своё скрине проигнорировал.

Цитата Сообщение от gogolik Посмотреть сообщение
Если сообщество - нужен.
Вот это поворот!
Как говорится кому-то нужно или крестник снять или трусы надеть.
Вот именно! Владелец - сообщество - именно так изначально делал ТС, но потом ему пришлось переделать на юзера. Чем и возмущён.

Цитата Сообщение от gogolik Посмотреть сообщение
В конце практически любого метода подробнейшая песочница с автоподстановкой ключей или примеры в формате "запрос-ответ". Или вообще и то, и другое.
Это где? В мане я не увидел никакой песочницы. Или что ты имеешь ввиду под песочницей?
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3954 / 2066 / 829
Регистрация: 13.03.2010
Сообщений: 6,799
25.10.2023, 15:19
Цитата Сообщение от Lazor Посмотреть сообщение
pixel даже выделил что там написано.
"Запись публикуется от имени сообщества." Не медиавложение. Так что, этот пункт вообще мимо кассы и к делу отношения не имеет. Тем более, что мы в метод должны передать уже загруженные фото, у которых есть владелец.

Цитата Сообщение от Lazor Посмотреть сообщение
Владелец - сообщество
Из сообщения ТСа мы видим, что api ему возвращает id его юзера как владельца. Мне лень углубляться в тонкости назначения владельца, поэтому я сделал предположение,
Цитата Сообщение от gogolik Посмотреть сообщение
что владелец мадиавложения определяется по ключу API, который используется.
Так с чего вдруг api должно воспринимать медиавложение по идентификатору, который не валиден? Правильно, не должно.

Цитата Сообщение от Lazor Посмотреть сообщение
Это где?
Здесь. И всё за тебя подставит, и запрос сделает корректный, и ошибки покажет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2023, 15:19
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Философия технологии
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(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru