ВКонтакте API метод messages.get. Что я делаю не так?

Всем доброго времени суток. Первый раз имею дело с API социальных сетей. Пробую использовать ВК API. В данном случае messages.get метод. Получил APP_ID написал код с клиентской авторизацией и messages.get запросом:
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
	<script src="//vk.com/js/api/openapi.js" type="text/javascript"></script>
</head>
<body>
	<div id="vk_api_transport"></div>
	<div id="login_button" onclick="VK.Auth.login(authInfo);"></div>
	<script type="text/javascript">
		window.vkAsyncInit = function() {
			VK.init({
				apiId: APP_ID
			});
		};

		function authInfo(response) {
			console.log(response)
			if (response.session) {
				alert('user: ' + response.session.mid);
			} else {
				alert('not auth');
			}
		}
		VK.Auth.getLoginStatus(authInfo);
		VK.UI.button('login_button');

		VK.Api.call('messages.get', {
			fields: 'messages'
		}, function(data) {
			console.log(data)
		});

		setTimeout(function() {
			var el = document.createElement("script");
			el.type = "text/javascript";
			el.src = "//vk.com/js/api/openapi.js";
			el.async = true;
			document.getElementById("vk_api_transport").appendChild(el);
		}, 0);
	</script>
</body>
</html>

В результате в консоли получаю следующее сообщение:
Access denied: no access to call this method


Подскажите, что я сделал не так и как это исправить, куда смотреть?
  • Вопрос задан
  • 882 просмотра
Решения вопроса 1
neluzhin
@neluzhin
К методам messages.* получить доступ могут только standalone-приложения. Это приложения, работающие без помощи браузера. Например, клиенты (официальные приложения VK, Kate Mobile, Snapster и т.д.). А у вас тип приложения "веб-сайт".

Вы ничего не сможете с этим поделать и заставить работать Open API с сообщениями не получится. Единственный выход - кидать пользователя на страницу получения токена в вашем standalone-приложении и просить скопировать его в форму на вашем сайте, а затем уже с сервера с этим токеном делать запросы. Но это плохо влияет на UX хотя бы потому, что на странице, откуда пользователь будет копировать этот самый токен, жирным написано, что копирование токена может быть небезопасным.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы