Использование Koala для публикации на стене страницы пользователя из приложения
Я уже приложение Facebook с пользователями, уже использующими его. У меня уже есть возможность размещать на своих стенах через Коалу.
@oauth = Koala::Facebook::OAuth.new options[:fb_application_id], options[:fb_secret_key]
@graph = Koala::Facebook::API.new @oauth.get_app_access_token
@graph.put_connections(fb_user_id, "feed", :message => 'sample message')
Теперь я хочу добавить функцию, с помощью которой я могу получить идентификатор страницы пользователя и разрешить своему приложению публиковать на этой странице.
Что-то вроде ниже:
@oauth = Koala::Facebook::OAuth.new options[:fb_application_id], options[:fb_secret_key]
@graph = Koala::Facebook::API.new @oauth.get_app_access_token
@graph.put_connections 'the_page_id', 'feed', :message => 'this is a message to post'
Результат строки выше:
Koala::Facebook::ClientError: type: OAuthException, code: 200, message: (#200) The user hasn't authorized the application to perform this action [HTTP 403]
Я уже установил разрешение "manage_pages publish_actions publish_stream" на стороне приложения и когда пользователь авторизовал приложение.
Пожалуйста помоги.
Спасибо!
2 ответа
Следующее может помочь,
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, ENV['KEY'], ENV['SECRET'], scope: 'manage_pages publish_pages publish_actions'
end
manage_pages
дать вам доступ к страницам, которыми управляет пользовательpublish_pages
дает вам право публиковать как страницыpublish_actions
дает вам право публиковать сообщения как пользователь
PS: publish_stream
был объявлен устаревшим
Вы должны добавить разрешения publish_stream и publish_actions в область разрешений вашего приложения.