57uff3r / nodejs-vksdk

NodeJS SDK for vk.com
201 stars 82 forks source link

По поводу токенов #39

Open necromind opened 7 years ago

necromind commented 7 years ago

А токены надо каждый раз заново получать серверные? Сохранить их нельзя?

LuckyWasTaken commented 7 years ago

Можно получить неистекающий токен вручную и вписать его в конфиг

AdilisIV commented 7 years ago

Прошу помощи, возникла проблема с токеном, не представляю чего уже делать. При запуске получаю ошибку: error_code: 5, error_msg: 'User authorization failed: no access_token passed.'

Вот код: var vk = new VK({ 'appId': 5807290, 'appSecret': '3a2b2408b624e47985', 'language': 'ru', });

vk.setToken( { token :'7332981bc_my_token_0ece9a81' }); vk.request('groups.search', { 'q': 'в', 'type': 'event', 'city_id': '69', 'future': '1', 'offset': '0', 'count': '1000' });

vk.on('done:groups.search', function(res) { console.log(res); });

Токен получал по ссылке https://oauth.vk.com/authorize?... с указанием client_id=5807290 и необходимых scope (offline, groups, nohttps).

Сейчас разрабатываю на локальной машине и не знаю, что вот здесь в настройках приложения в разделе Open API в пунктах: Адрес сайта и Базовый домен (оставил пустыми). Свой ip? (95.82.202.246)

digitalhitler commented 7 years ago

Имя параметра должно быть не ‘token‘ а ‘access_token‘

Sent from Alto On Tuesday, April 4, 2017 at 7:30 PM AdilisIV notifications@github.com wrote:

Прошу помощи, возникла проблема с токеном, не представляю чего уже делать. При запуске получаю ошибку: error_code: 5, error_msg: 'User authorization failed: no access_token passed.'

Вот код: var vk = new VK({ 'appId': 5807290, 'appSecret': '3a2b2408b624e47985', 'language': 'ru', });

vk.setToken( { token :'7332981bc_my_token_0ece9a81' }); vk.request('groups.search', { 'q': 'в', 'type': 'event', 'city_id': '69', 'future': '1', 'offset': '0', 'count': '1000' });

vk.on('done:groups.search', function(res) { console.log(res); });

Токен получал по ссылке https://oauth.vk.com/authorize?... с указанием client_id=5807290 и необходимых scope (offline, groups, nohttps).

Сейчас разрабатываю на локальной машине и не знаю, что вот здесь в настройках приложения в разделе Open API в пунктах: Адрес сайта и Базовый домен (оставил пустыми). Свой ip? (95.82.202.246)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

digitalhitler commented 7 years ago

Ой, прошу прочтения, читаю как попало.

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

Если не поможет, попробуйте интереса ради в запрос добавить access_token и посмотрите что будет?

nksmnf commented 7 years ago

AdilisIV, setToken принимает строку.

VK.prototype.setToken = function(_t) {
    this.token = _t;
    return true;
};

if (this.token) {
     requestString = requestString + '&access_token=' + this.token;
}

Пожалуйста не оставляйте appSecret в открытом доступе

AdilisIV commented 7 years ago

@digitalhitler @nksmnf , спасибо за ответы! :) Пробовал оставить строку: vk.setToken('7332981bc8bcd3125a668f41620e7c69798d5fa1340ae611ba78171d597cd1e165870c6da81');

Однако, к сожалению, ошибка та же.

nksmnf commented 7 years ago

@AdilisIV, пожалуйста! Эта ошибка приходит со стороны API VK, а не данного SDK. Почитай поподробнее про двухэтапную авторизацию, на офф.сайте

AdilisIV commented 7 years ago

@nksmnf Ок, понял, еще раз спасибо!