Использование 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 в область разрешений вашего приложения.

Другие вопросы по тегам