Vk API. Wall.post?

Столкнулся с проблемой, решение которой мне никак не дается.

Есть сайт. Админ (и только админ) должен иметь функцию постить в vk через свой vk-аккаунт на стену своей группы инфу по клику на кнопку.

То есть некая трансляция.


Все попытки запустить api вызов с access_token, полученным в результате авторизации приводит к
Permission to perform this action is denied for non-standalone applications: you should request token using blank.html page



Как быть в такой ситуации? Если редиректить на вконтактовскую blank.html, то как тогда выдергивать токен в двухходовке?
  • Вопрос задан
  • 17355 просмотров
Пригласить эксперта
Ответы на вопрос 3
UZER2006
@UZER2006
Видимо, вы что-то делаете не так. Советую в лучших традициях windows перезагрузиться и попробовать снова.
1. wall.post доступен только standalone-приложениям (или web при использовании окна подтверждения). Тип приложения (кажется) не меняется и задаётся на этапе создания.
2. Соответственно, wall.post разрешён только токену, полученому через blank.html (в остальных случаях запрос прав wall просто игнорируется)
Ссылка на получение имеет вид https://oauth.vk.com/authorize?client_id=<app_id>&scope=...,wall,...&redirect_uri=https://oauth.vk.com/blank.html&response_type=token
Чтобы было меньше проблем – можно в scope добавить параметр offline – полученый токен будет «вечный» (по факту, будет жить до удаления приложения или изменения пароля Вк).
3. В итоге вызов для отправки сообщения имеет вид https://api.vk.com/method/wall.post?owner_id=<id группы или пользователя>&message=<текст сообщения>&access_token=<ранее полученный токен>

В принципе, если пост производится по действию пользователя, то, если ничего не получится, можно использовать JavaScript VK.api и постить с окном подтверждения.
Ответ написан
timokhin
@timokhin
iOS developer
Токен в данном случае вручную копируется после редиректа и сохраняется где-то в конфиге или в бд и используется в запросах.
Ответ написан
Использование wall.post только админом регулируется на самом сайте, а токен дает скрипту полный контроль (но с учетом разрешений приложения) над аккаунтом, из под которого этот токен был получен. Советую более точно читать инструкцию получения токена, так как сам долго парился и пропускал некоторые шаги, считая, что я делаю все правильно ;)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы