Как оказалось для i-Frame приложений у них другой вариант постинга: https://apiok.ru/dev/sdk/js/ui.postMediatopic
Он не требует пермишенов, выдаёт диалог предупреждения публикации с кнопками "Разрешить"/"Отменить", результат операции "Ok", ошибок нет, но записи в ленте нету, возможно она не появляется для тестовых не одобренных приложений...
Vjacheslav Kanivetc: Спасибо большое! Вот сейчас более или менее понятно... Ну я же написал, что я использую по-старому stream.publish, у него параметр attachment, в принципе то же самое, что и у mediatopic.post, но я могу перейти и на использование mediatopic.post - не проблема. Документацию, естественно, я изучаю, выше я писал, что не могу выполнить пример запроса, который есть внизу страницы документации, ибо мне возвращается ошибка: error_msg:PERMISSION_DENIED : User must grant an access to permission 'PUBLISH_TO_STREAM'.
Vjacheslav Kanivetc: Спасибо, я посмотрел, но что-то мне кажется это не то... Просто у меня всё равно есть какое-то недопонимание, дело в том, что мне не надо постить фотографию/картинку, мне надо сделать запись в ленте. Постинг картинки у меня тоже есть, там было сделано вот как раз через "photosV2.getUploadUrl", потом вызывался "photosV2.commit", т.е. это заливка изображения в альбом юзера. А тут мне нужна запись на стене, т.е. размещение "игрового медиатопика", как написано у Вас в документации.
Т.е. пусть даже я буду использовать метод "mediatopic.post", мне нужен там блок media с типом "app", вот как у вас в примере:
{
"type": "app",
"text": "Text above image",
"images": [
{
"url": "r.mradx.net/img/38/F3C336.jpg",
"mark": "prize_1234",
"title":"Hover Text!"
}
],
"actions": [
{
"text":"Hello",
"mark":"hello"
}
]
}
И вот, опять же, Вы пишите:
"3. mediatopic.post с id залитой картинки"
где же тут в документации указывается id картинки? Когда тут передаётся урл на неё... Вот и остаётся вопрос: этот урл абсолютный или его надо получить из photosV2.getUploadUrl?
Vjacheslav Kanivetc: ммм, нет, я ничего не путаю мой, код не менялся уже несколько лет. Единственное,что мне пришлось сделать - это перейти с ActionScript SDK на JS SDK (я тут создавал как-то топик на данную тему - ибо возникла проблема с загрузкой библиотеки sdk (https://toster.ru/q/359021)), но у меня как использовался stream.publish, так и используется. Опять же, Вы пишете про mediatopic.post, я его не использую... вот думаю переходить на него, но с ним тоже не всё понятно... Пробую выполнить этот запрос из Ваших доков отсюда https://apiok.ru/dev/methods/rest/mediatopic/media... получаю ошибку:
{
error_code:10
error_msg:PERMISSION_DENIED : User must grant an access to permission 'PUBLISH_TO_STREAM'
error_data:publish_to_stream
}
Возможно, наше приложение должно иметь такой пермишен...? Хотя, для примера в списке пермишенов я его указал: VALUABLE_ACCESS;LONG_ACCESS_TOKEN;PUBLISH_TO_STREAM;
Vjacheslav Kanivetc: Более года назад, может пару лет назад, когда ещё метод stream.publish не был задиприкейченым, постинг в ленту работал корректно. И это было в этой реальности.
А не могли бы Вы набросать пример, как вообще этим пользоваться? Ну или, может, где-то в сети уже есть пример, не могу найти... Ибо по докам мне вообще не понятно, как с этим работать... Вот хотя бы взять метод photosV2.getUploadUrl - я вообще не понимаю, как в нём указать адрес картинки, где он, вообще, передаётся в каком параметре?
Картинки залиты на наш сервер вместе с приложением. В настройках приложения в ОК указывается же графа "Base URL для картинок в ленте" - там прописана ссылка на каталог картинок на нашем сервере. Поэтому передаётся просто имя уже конкретного файла - картинки - imgName, который должен быть взят по этому пути. По крайней мере раньше так всё работало...
Аркадий Храмов:
>При этом JS SDK без флэшки тоже не работает (касаемо платежей)
вот это новость... :( Я начал переделывать всё на JS SDK. Просто я не совсем понимаю, ОК что-то собираются делать по этому вопросу вообще или как?! Или они официально будут отказываться от использования AS SDK?!
Аркадий Храмов: да, спасибо! Я, вроде, уже понял систему :) в чём дело... Кстати, после очередного обновления Хрома, эта проблема, похоже, стала массовой... Но, как ни странно, у меня по прежнему всё работает!
SkubbyDo: Я не совсем Вас понял... Нашего? В их i-Frame? Игра-то запускается и работает, но нет соединения с API OK. В результате их API не работает, т.е. не работают публикации, покупки, приглашения и т.п. На все эти попытки получается ошибка ApiServerEvent.NOT_YET_CONNECTED.
SkubbyDo:
>а как галочка "Запускать всегда"?
эта галочка вряд ли может вносить проблемы в данном вопросе. В новом Хроме по умолчанию флэш просто не запускается вот и всё. Пришлось её включать и разрешать запуск всегда. Но это относится целиком к воспроизведению swf'ок. Вообще, у меня вот так в плагинах Хрома https://yadi.sk/i/-ppVQnvewqLDX
всё по дефолту. Я им не пользуюсь вообще.
silic:
вот не понятно в чём дело! Версия флэш плеера, скорее всего у всех у нас последняя! Тем более, как я уже сказал, после обновления Хрома, он сам заставил меня обновить флэш плеер. Какие-то другие плагины... ну фиг знает... Это гадание на кофейной гуще... :(
silic: да вообще не понятная ерунда: у моего коллеги в Хроме не работает, у меня на такой же версии Хрома всё работает прекрасно. Сегодня обновили хром до версии 54.0.2840.59 m (64-bit), у меня по прежнему всё работает нормально (пришлось только обновить плагин Flash Player), а у коллеги по прежнему не работает...
Александр, т.е. я так понимаю, сейчас уже должно быть всё нормально? Просто у меня в данный момент нет возможности проверить - у меня в Хроме всё как работало, так и работает.
SkubbyDo: о чём Вы, вообще, пишете??? Речь идёт об игре. Игра - это swf-файл, приложение размещено как i-Frame приложение. ФлешПлеер, естественно, установлен. Ошибка эта появилась только у некоторых пользователей, причём, по видимому, только в Хроме.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Он не требует пермишенов, выдаёт диалог предупреждения публикации с кнопками "Разрешить"/"Отменить", результат операции "Ok", ошибок нет, но записи в ленте нету, возможно она не появляется для тестовых не одобренных приложений...