ASP.NET MVC Facebook - PullRequest
       13

ASP.NET MVC Facebook

1 голос
/ 02 марта 2010

Я пытаюсь сделать, казалось бы, простую вещь, но не могу ее выполнить. Я пытаюсь автоматизировать публикацию на стене в Facebook. По сути, у меня есть веб-сайт ASP.NET MVC, на котором я публикую обновления, и я хочу автоматически отправить сообщение на мою стену.

Я вижу много информации о FB Connect и получении данных, я просто хочу опубликовать.

Спасибо за любую помощь или руководство.

ОБНОВЛЕНИЕ: Просто пытаюсь воскресить и быть немного более понятным в моем описании, поскольку я никуда не доберусь.

У меня есть нужная страница с текстовым полем и кнопкой. Когда я отправляю форму, я хочу, чтобы сообщение отправлялось на мою стену Facebook. Я думал, что это Facebook Connect, но я не знаю, как автоматически аутентифицировать себя и публиковать на стене.

Я бы хотел использовать C #, а не JavaScript.

private const string ApplicationKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX";
private const string SecretKey = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
private Facebook.Rest.Api _facebookAPI;
private Facebook.Session.ConnectSession _connectSession;

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection form)
{
    _connectSession = new Facebook.Session.ConnectSession(ApplicationKey, SecretKey);
    if (_connectSession.IsConnected())
    {
        _facebookAPI = new Facebook.Rest.Api(_connectSession);
        string response = _facebookAPI.Stream.Publish("This is a generated test");
    }
        return View();
    }
}

IsConnected () возвращает false. Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 18 марта 2010

Этот код был верным, проблема была в том, что я не добавил свое приложение в свой профиль. Глупая мисс, но я думаю, что все это плохо документировано. У меня есть другая проблема с автономным доступом, но это для другого поста.

string apiKey = "XXXXXXXXX";
string apiSecret = "XXXXXXXXXXXX";
Facebook.Session.ConnectSession._connectSession = new Facebook.Session.ConnectSession(apiKey, apiSecret);
if (_connectSession.IsConnected)
{
    Facebook.Rest.Api api = new Facebook.Rest.Api(_connectSession);
    string response = api.Stream.Publish("Test", null, null, null, api.Users.Session.UserId);
}
0 голосов
/ 15 октября 2010

Возможно, вы протестировали свой веб-сайт на своем локальном хосте. Файл cookie Facebook не записывается, когда вы тестируете свой веб-сайт на локальном хосте. Смотрите эту ссылку http://forum.developers.facebook.net/viewtopic.php?pid=247332

Это может решить вашу проблему:

  1. Добавить "127.0.0.1 localhost.local" в ваш файл
  2. Обновите настройки приложения FB Connect, чтобы использовать "http://localhost.local/" URL и домен" localhost.local ".
  3. Создайте веб-сайт IIS на порту 80 с именем «localhost.local». Мне пришлось остановить свой веб-сайт по умолчанию, который также находится на порту 80
  4. Обновите мое веб-приложение Visual Studio 2010 для использования IIS с "http://localhost.local/" url.

Чтобы увидеть файлы cookie, обязательно установите FireCookies вместе с FireBug.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...