Поддержка двух VK приложений одновременно
Добрый день.
Могу ли я настроить поддержку двух VK App ID одновременно? Сейчас я вижу, что настройки задаются глобально для класса VkontakteApi. Мне это нужно, так как у меня есть два App ID — одно для VK Iframe, другое для Standalone приложения в iOS.
Спасибо.
Пока такой возможности нет, это архитектурный косяк. Подумаю, как это исправить.
Я могу какой-то workaround у себя сейчас запилить?
Если токен приходит "извне" (т.е. не через VkontakteApi.authorize), то можно перед каждым вызовом метода API делать VkontakteApi.configure с нужными настройками - коряво, но должно работать.
Спасибо.
Есть какие-нибудь новости тут?
Можно ли вызывать каждый раз VkontakteApi.configure + VkontakteApi.authorize перед каждым запросом?
Новостей нет, выполнять configure и authorize можно. Только, наверно, не перед каждым запросом, а при переключении между App Id.
Переключение через configure на практике не работает. Почему, выяснить не удалось. Но access_token после повторного вызова configure с другими данными получается неверный (VK возвращает ошибку).
Срабатывает только один раз:
>> VkontakteApi.configure{|c| c.app_id = 000; c.app_secret=""; }
VkontakteApi
>> @vk = VkontakteApi.authorize(type: :app_server)
OAuth2::Error: invalid_client: client_secret is undefined
При повторных вызовах VkontakteApi.configure app_secret не меняется.
В gemfile:
gem 'vkontakte_api', github: '7even/vkontakte_api', branch: 'master'
Скорее всего, проблема в этой строчке.
Как временный костыль, можно попробовать сделать VkontakteApi.instance_variable_set(:@client, nil) перед вызовом VkontakteApi.configure.
Да, так работает. Спасибо!