ciricc / easyvk

This app helps you create an apps with vk api easy!
MIT License
101 stars 10 forks source link

Cannot read property 'uploader' of undefined #21

Closed get-web closed 4 years ago

get-web commented 4 years ago

Не могу разобраться. У меня есть проект, используется easyvk версия 2.5.11 . Я его обновляю до 2.6.1 и метод uploader исчезает, возвращаю 2.5.11 все работает. В документации увидел что нужно добавить utils:

async function vkAuth(username, password, sessionPath, captchaHandler) {
  return await easyvk({
    username: username,
    password: password,
    session_file: sessionPath,
    captchaHandlder: captchaHandler,
    utils: {
      uploader: true
    }
  }).then(async (vk) => {
    console.log(vk); // тут uploader не доступен
    return vk;
  });
}

Добавляю, но ничего не происходит. Что я делаю не так?

ciricc commented 4 years ago

Дело не в uploader'е. Проверьте, пожалуйста наличие ошибок при авторизаци. Видимо что-то идет не так и у вас не возвращается объект для работы с API

get-web commented 4 years ago

Да не возвращается, но я уже не знаю что сделать. Создал пустой проект. Запускаю:

const easyvk = require("easyvk");
//Authenticating user
easyvk({
    username: 'тут логин',
    password: 'тут пароль',
    save: false
}).then(vk => {
    console.log(vk);
}).catch(console.error)

На версии 2.5.11 все нормально. на 2.6.1 не работает и этого нет:

uploader: EasyVKUploader { _vk: [Circular] },
  http:
   HTTPEasyVK {
     headersRequest: { 'content-type': 'application/x-www-form-urlencoded' },
     _vk: [Circular] },

Ошибок тоже никаких нет. Разные аккаунты пробовал, но результат один на версиях 2.6.1 и 2.6.0, другие не пробовал

ciricc commented 4 years ago

Сделай, пожалуйста, дебаг https://ciricc.github.io/debugger.html

get-web commented 4 years ago
EventContext {
  type: 'request',
  moment: 2020-03-30T11:54:56.372Z,
  event:
   { url:
      'https://oauth.vk.com/token/?....',
     query:
      '....',
     method: 'GET' } }
EventContext {
  type: 'response',
  moment: 2020-03-30T11:54:57.203Z,
  event:
   { body:
      { access_token:
         'token',
        expires_in: 0,
        user_id: ... } } }
EventContext {
  type: 'request',
  moment: 2020-03-30T11:54:57.208Z,
  event:
   { url:
      'https://api.vk.com/method/users.get?....',
     query:
      { access_token:
         'token',
        v: '5.75',
        fields: '',
        client_id: '...',
        client_secret: '...',
        lang: 'undefined',
        '2fa_supported': 1 },
     method: 'GET' } }
EventContext {
  type: 'response',
  moment: 2020-03-30T11:54:57.843Z,
  event: { body: { response: [Array] } } }

Я удалил некоторые данные, не знаю какие именно нужны, но там логин, пароль, секретный ключ, токен, все пиходит

ciricc commented 4 years ago

Нужно видеть что приходит в ответах. (Response).

get-web commented 4 years ago

Подключил:

let myDebugger = new Debugger();

myDebugger.on('response', (event) => {
    console.log(event.toString())
})

Получил:

[Mon Mar 30 2020 15:55:58 GMT+0300 (GMT+03:00)]
{
  "type": "response",
  "moment": "2020-03-30T12:55:58.593Z",
  "event": {
    "body": {
      "access_token": "access_token",
      "expires_in": 0,
      "user_id": user_id
    }
  }
}
[Mon Mar 30 2020 15:55:59 GMT+0300 (GMT+03:00)]
{
  "type": "response",
  "moment": "2020-03-30T12:55:59.271Z",
  "event": {
    "body": {
      "response": [
        {
          "id": id,
          "first_name": "first_name",
          "last_name": "last_name"
        }
      ]
    }
  }
}
ciricc commented 4 years ago

Не понимаю пока что почему это происходит. Если можешь, пожалуйста посмотри в коде easyvk. Подебаж его. У меня в ближайшее время такой возможности не будет. Я выпущу фикс, если что найдешь

get-web commented 4 years ago

Зря тему закрыли, проблема не решилась, сегодня решил запустить последнюю версию "2.7.41" проблема та же, так и сижу на версии 2.5.11

Да, кстати. Менял разные версии node от 10 до последней стабильной 12.18.3

get-web commented 4 years ago

Последняя версия 2.8.1 вроде заработала, по крайней мере примеры из документации работают, думаю можно закрывать. Спасибо.

ciricc commented 4 years ago

Отлично