Задать вопрос

VK api, OAuth 2.0 и wall.post

Есть у них такой метод , с помощью которого можно что-то запостить на стену.
Для фотографий он вызывается в цепочке с photos.getWallUploadServer.
Использую я OAuth, тоесть есть лишь access_token пользователя с правами доступа 92902.

Так вот, собственно проблема — попытка вызова этого метода всегда приводит к «Permission to perform this action is denied for non-standalone applications». Токен верный(аплоад в альбомы работает), гугл показывает темы с миллионом сообщений с весьма неоднозначными постами.
Да и сидят там в основном флешеры. А у меня просто приложение на {yourFavLanguageName}, у которого есть все права, которое хочет послать POST запрос и получить успешный ответ, но с чего-то не может.

Я правда не могу пользоваться этим методом даже если у меня проходит getWallUploadServer, если я имею все права?
  • Вопрос задан
  • 14747 просмотров
Подписаться 15 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия 1С-программист
    8 месяцев
    Далее
Решения вопроса 1
@unholy
Буквально вчера решал эту проблему. Нужно было из приложения для iOS запостить на стену сообщение.

решилась она так

во-первых URL куда логиниться я указал такой — api.vk.com/oauth/authorize?client_id=%@&scope=wall,messages,photos&redirect_uri=http://api.vk.com/blank.html&display=touch&response_type=token

там надо очень внимательно отнестись к параметру scope

затем сделал такую хитрую операцию по этой ссылке

vkontakte.ru/editapp?act=create&site=1

выбрал standalone, написал все необходимое и вуаля — оно заработало.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Dunadan
@Dunadan
Некоторое время назад столкнулись с подобной задачей.
На самом деле, в этом случае документация вполне аккуратна: там указано, что метод wall.post доступен только для десктоп-приложений (сиречь — мобильных клиентов, которые имеют полный контроль над окном браузера).

Как показало небольшое исследование, ВКонтакт проверяет, кто и каким образом пытается токен получить и на ходу «режет» привилегии для не-десктопов (окно запроса не содержит иконки «с кирпичиками» для разрешения публикации сообщений на стену).

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

Хотя и странно — тот же Фейсбук разрешает цивилизованно через АПИ постить на стену, даже на стену друзьям пользователя (если память не подводит).
Ответ написан
@Progrik
Если совсем отчайтесь, как это было и со мной, то может быть вам поможет вот этот небольшой велосипед: github.com/saippuakauppias/vk-wallposter
Ответ написан
hf35
@hf35
Вконтакте мотивирует запрет тем, что они не могут выдавать окно подтверждения на сторонних сайтах.
Тоже долго мучался. Вот эти товарищи seedr.ru/ — как то запрет обошли.
Для себя “решил” проблему, отправляя запрос приложению внутри контакта, в отдельном окне… — которое сразу выводит запрос подтверждения публикации не стену. Само собой у пользователя оно должно быть установлено.
Ответ написан
@igorperciuleac
Как вариант можно использовать этот сервис iceapi.com позволяет постить на стены Facebook, ВКонтакте и Одноклассниках без подтверждений.

Правда он пока сыроват, но работаю свою выполняет четко.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽
Крона Лабс Екатеринбург
от 200 000 ₽