Closed exAspArk closed 11 years ago
Нужно понять, какие права есть у токена (@vk.scope
), и что пишется в лог при запросе friends.get
.
При вызове
# вызов метода
@vk.scope
# логи
POST https://api.vk.com/method/getUserSettings
body: ""
{"error":{"error_code":113,"error_msg":"Invalid user id","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"getUserSettings"}]}}
# на странице
VkontakteApi::Error (VKontakte returned an error 113: 'Invalid user id' after calling method 'getUserSettings' without parameters.)
При вызове
# вызов метода
@vk.friends.get(fields: [:first_name, :last_name, :screen_name])
# логи
POST https://api.vk.com/method/friends.get
body: "fields=first_name%2Clast_name%2Cscreen_name"
{"error":{"error_code":113,"error_msg":"Invalid user id","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"friends.get"},{"key":"fields","value":"first_name,last_name,screen_name"}]}}
# на странице
VkontakteApi::Error (VKontakte returned an error 113: 'Invalid user id' after calling method 'friends.get' with parameters {"fields"=>"first_name,last_name,screen_name"}.):
Все говорит о том, что в запросах токен не передается, т.е. @vk
просто не авторизован.
В этой строчке:
@vk = VkontakteApi::Client.new(access_token)
access_token
должен содержать строку с токеном, тогда все заработает.
О, благодарю за столь скорую помощь! Передача самого значения token действительно помогла.
@vk = VkontakteApi::Client.new(access_token.credentials.token)
Можно закрывать issue и ставить star gem'у -)
Привет,
Я использую авторизацию через OmniAuth + Devise, пользователь успешно авторизуется, получая access_token вида:
После чего создаю клиент для ВК, передавая этот токен:
При попытке получить список друзей
Получаю ошибку
Понятно, что не передается uid. Если передать его вот так
То получаю ошибку
В настройках приложения запрашиваю через scope права на 'friends'. Согласно VK API uid параметр вообще не обязателен (тогда будет список друзей авторизованного юзера). Мне кажется, какая-то проблема с access_token при инициализации клиента.... Подскажите, как исправить?