Как разместить на стене пользователя внутри модели Rails - PullRequest
1 голос
/ 09 декабря 2011

Мое приложение получает одобрение, и пользователь получает токен доступа и расширенные разрешения, которые включают offline_access и publish_stream.

Я хочу иметь возможность публиковать изнутри мою модель. Это потребует от меня сделать https://graph.facebook.com/FBUSER_ID/feed плюс некоторые параметры и токен доступа, app_id, app_secret.

   I have the access token and FBUSER_ID.

Что я не знаю, как это сделать, так это собрать все вместе в модели.

Может ли кто-нибудь указать мне правильное направление?

У меня уже есть приложение на Facebook. Мне нужно знать, как отправлять сообщения с сервера на стену пользователя

** Благодаря приведенному ниже ответу я смог заставить его работать со следующим:

access_token = "AAACvmqy1nYoBAAZCkGXbVgRwcBv******ZAMjsLxKxR7DaZBE0NxY8ZBGBW1q2mzsB9TDT0RvgeQcDdnyFJNAYRf0icnhlbikZD"
    appID = '1776938807888574888888888882'
    message = 'test_message'
    userID = '75164088804088888'
    uri = URI.parse("https://graph.facebook.com/#{userID}/feed")
    req = Net::HTTP::Post.new(uri.path)
    result = req.set_form_data({:access_token => access_token , :message => message, :app_id => appID })
    sock = Net::HTTP.new(uri.host, 443)
    sock.use_ssl = true
    sock.start do |http|
      response = http.request(req)
    end

ВАЖНО: в верхней части контроллера или модели добавьте:

 require 'openssl'

1 Ответ

1 голос
/ 09 декабря 2011

Сначала вы должны создать приложение Facebook здесь .Используя app_id и app_secret созданного приложения, вы попросите пользователя дать разрешение на публикацию фида для вашего приложения.Получая эти разрешения, вы также получаете токен доступа для публикации стены пользователей.

Подробную информацию об аутентификации вы можете получить здесь: https://developers.facebook.com/docs/authentication/

И вы можете получить информацию о публикации здесь наРаздел публикации: http://developers.facebook.com/docs/reference/api/

С ruby ​​вам просто нужно сделать HTTP-пост.Это может быть примером для этого:

Net::HTTP.post_form(URI.parse('https://graph.facebook.com/FBUSER_ID/feed'),
                          {'access_token' => 'ACCESS_TOKEN', 'message' => 'MESSAGE'})
...