mediatopic.post

Публикация медиатопика, который может содержать множество вложенных объектов

НазваниеОбязательныйТипОписание
uid Нет String

Идентификатор пользователя, от имени которого необходимо создать пост. Укажите uid при вызове этого метода без ключа сессии.

type Нет ApiMediaTopicOwnerType

Тип медиатопика:

  • USER - пост на страницу пользователя (запись увидят его друзья в своих лентах)
  • USER_STATUS - установить в статус пользователя. Если указан, то требует разрешение SET_STATUS.
  • USER_NOTE - добавить как заметку пользователя. Если указан, то требует разрешение PUBLISH_NOTE.
  • GROUP_THEME - пост в группу
  • GROUP_THEME_PROMO - промо-пост в группу
  • GROUP_SUGGESTED - предложенная тема (тема на модерацию для админстрации группы. Будет опубликована в ленте только после одобрения администрациией).
gid Нет String

Идентификатор группы, в которой необходимо опубликовать медиатопик. Если указан, то требует разрешение GROUP_CONTENT. Вместе с этим параметром должен присутствовать type=GROUP_THEME или type=GROUP_THEME_PROMO.

attachment Да Attachment

Закодированная в JSON информация о контенте медиатопика

set_status Нет Boolean

Установить медиатопик в статус. Если true, то требует разрешение SET_STATUS.

devices Нет String[]

Платформа постинга

text_link_preview Нет Boolean

Если true, то текстовая ссылка, переданная в одном из элементов массива mediа, будет преобразована в блок-ссылку с заголовком, описанием и картинкой.

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

hidden_post Нет Boolean

Только для групповых топиков. Если true, то топик создастся как “скрытая тема”.

ads_post Нет Boolean

Топик будет создан с пометкой “Реклама”. В данный момент недоступен внешним приложениям

paid_content Нет Boolean
ad_info Нет AdInfo
karapulia_post Нет Boolean
create_date Нет Date
hobby_section Нет ApiMediaTopicHobbySection
hobby_id Нет String
update_default_visibility Нет Boolean

Авторизация

Сессия опциональна (для External (Внешних) приложений - обязательна)

Описание attachment

Публикация медиатопика, который может содержать множество вложенных объектов:

  • тексты
  • ссылки
  • фотографии
  • видео
  • музыку
  • голосования
  • решары
  • места

Пример результата

Пример результата

Пример результата игрового медиатопика

Пример результата игрового медиатопика

Общий вид JSON-дерева

{
  "media": [
    {
      "type": "photo",
      "list": [
        { "id": "photoToken1" },
        { "id": "photoToken2" },
        { "photoId": "1234" }
      ]
    },
    {
      "type": "movie",
      "list": [
        { "id": "movieId1" },
        { "id": "movieId2" }
      ]
    },
    {
      "type": "music",
      "list": [
        {
          "id": "id1",
          "title": "SongName1",
          "artistName": "Artist1",
          "albumName": "Album1"
        }
      ]
    },
    {
      "type": "poll",
      "question": "Is it question?",
      "answers": [
        { "text": "Yes" },
        { "text": "No" }
      ],
      "options": "SingleChoice,AnonymousVoting"
    },
    {
      "type": "link",
      "url": "https://apiok.ru/"
    },
    {
      "type": "text",
      "text": "Text1"
    },
    {
      "type": "app",
      "text": "Text above image",
      "images": [
        {
          "url": "http://r.mradx.net/img/38/F3C336.jpg",
          "mark": "prize_1234",
          "title":"Hover Text!"
        }
      ],
      "actions": [
        {
          "text":"Hello",
          "mark":"hello"
        }
      ]
    }
  ]
}

Создание решары

Чтобы создать решару на топик или видео нужно в опциональном аттрибуте “topic” или “movie-reshare” задать ID объекта на который создается решара. Если решара устанавливается в статус, то при создании решары текстовой комментарий к объекту обязателен (“type”:”text”)

Пример валидного запроса на создание решары топика (необходимо указать наличие принадлежности к контенту групп, true/false соответственно):

{
    "media": [
        {
            "type": "text",
            "text": "my text"
        },
        {
            "type": "topic",
            "topicId": "10240918683741",
            "group": "false"
        }
    ]
}

Пример валидного запроса на создание решары видео

{
    "media": [
        {
            "type": "text",
            "text": "hello"
        },
        {
            "type": "movie-reshare",
            "movieId": "14029922"
        }
    ]
}

Пример валидного запроса на несколько решар в одном топике

{
    "media": [
        {
            "type": "text",
            "text": "my text"
        },
        {
            "type": "topic",
            "topicId": "10240965345470",
            "group": "true"
        },
        {
            "type": "topic",
            "topicId": "10240965411006",
            "group": "true"
        }
    ]
}

Элементы media

ТипОписаниеДополнительные параметрыОграничения
photoФотографииlist - список фотографий, описанных одним из двух параметров:
* id - параметр token, передаваемый в метод photosV2.commit во время загрузки фотографий на сервер
* photoId - id фотографии для которой будет сделана решара
* У приложения должен быть PHOTO_CONTENT
* Все фотографии должны принадлежать текущему пользователю
* Все фотографии должны находиться в одном и том же альбоме
* При посте в группу, фотографии не должны быть привязаны к альбому, и для них не требуется вызывать photosV2.commit
* В случае если передаётся photoId фотография должна существовать и быть в открытом доступе
movieВидеороликиlist - список видеороликов:
* id - идентификатор видеозаписи
* У приложения должен быть VIDEO_CONTENT
musicМузыкаlist - список аудиозаписей:
* id - идентификатор
* artistName - название исполнителя
* title - название аудиозаписи
* albumName - (необязательный) название альбома
 
pollГолосование* question - вопрос голосования
* answers - список ответов к голосованию
** text - текст ответа
* options - (необязательный) дополнительные параметры голосования
Возможные параметры:
* SingleChoice - Голосование, в котором можно выбрать только один ответ (если не стоит - несколько ответов)
* AnonymousVoting - Анонимное голосование (никто не сможет увидеть пользователей, кто как проголосовал)
* ResultsAfterVoting - Тип опроса, когда результаты будут видны только после голосования
linkСсылкаurl - ссылка на интересную страницу* Не более одной ссылки на медиатопик
textТекстtext - дополнительный текст 
appИгровой блок* text - текст над картинкой

* images - массив изображений
** url - ссылка на картинку размером 492x364
** title - текст при наведении на картинку
** mark - метка, которая будет передана приложению в параметре custom_args при переходе

* actions- массив ссылок
** text - текст ссылки
** mark - метка, которая будет передана приложению в параметре custom_args при переходе
* На текущий момент поддерживается 1 картинка
* На текущий момент поддерживается 1 ссылка
* Блок отображается в ленте только у подтверждённых приложений
* Нельзя постить только блок app, с ним должен быть ещё text/photo и т.д..
app-refСсылка на приложениеappId - id приложения* Не более 1 ссылки на приложение
* Указанное приложение должно пройти модерацию

Пример app-ref

{
    "media":[
        {
            "type": "app-ref",
            "appId": 512000589246,
            "text": "Тестовый текст для топика",
            "imageHD":"https://st.mycdn.me/static/game-promo-image/0-2-94/topic_image.png",
            "args": "key=value",
            "snippet": "play"
        }
    ]
}

Пример media

{
  "media": [
    {
      "type": "photo",
      "list": [
        { "id": "GbEJzZVBho7Us2ZwjGXhGnIo4rHF2U7jn8N6fbeMFCUfdSjSv+SexzjMLSFliybJfJNV2qbdaS+x8qqWqzfFN+U+34bhVwyU9ENKARywfAx/HJFAyyKZHqRA42DsEm6qXZwcnnvjF9M8r+FsNi3DiQ==" },
        { "id": "sts6ma1U8pE4jIvElzHPbtoQtIF5KTijxZdQlRNN/Gw6Wx3CY2Xr7NEZ0eOSpCneZAoIGAj/nodexVaKGnHeVtqU1LMlBYGsxj5GKmBDzv2b/tq7WpRg61Ugc46E3894" }
      ]
    },
    {
      "type": "music",
      "list": [
        {
          "id": 8058357707207,
          "title": "Fix You",
          "artistName": "Coldplay",
          "albumName": "X&Y"
        }
      ]
    },
    {
      "type": "poll",
      "question": "Правда крутой медиатопик?",
      "answers": [
        { "text": "Да" },
        { "text": "Конечно да" }
      ],
      "options": "SingleChoice"
    },
    {
      "type": "text",
      "text": "Текст в придачу"
    }
  ]
}

Параметры для публикации групповых тем

  • publishAtMs - время публикации отложенной темы в миллисекундах c 1 января 1970 года. Необходимо для создания отложенной темы.
  • publishAt - время публикации отложенной темы в формате YYYY-mm-dd hh:mi:ss (в таймзоне Europe/Moscow (GMT+3:00)). Необходимо для создания отложенной темы. Используется как альтернатива publishAtMs.
  • onBehalfOfGroup - будет ли тема опубликована от имени группы или от имени пользователя, который создал тему (возможные значения - “true”/”false”).
  • disableComments - выключить ли комментарии к теме (возможные значения - “true”/”false”)
{
    "media": [
        {
            "type": "text",
            "text": "This is a text of a new topic"
        }
    ],
    "publishAt": "2015-11-05 19:09:13",
    "onBehalfOfGroup": "false",
    "disableComments": "true"
}

Ответ в случае успеха содержит идентификатор созданного медиатопика

Тип

"String"

Параметры приложения

Данные о сессии пользователя

Метод

Список параметров

Используем для подписи secret_key = session_secret_key
Используем для подписи secret_key = application_secret_key
Используем для подписи secret_key = MD5(access_token + application_secret_key)
secret_key =
Сортируем и склеиваем параметры запроса и secret_key
Рассчитываем MD5 от полученной строки и получаем параметр sig