автоматический вход в Facebook

2

Я создаю настольное приложение на С#. одна из вещей, которую это приложение должно делать, - публиковать вещи в статусе пользователя в facebook (например: "Дэйв только выиграл 3 золотые медали" ). это должно произойти, если пользователь зарегистрировался сейчас на facebook или нет. Я хочу, чтобы пользователь дал мне все необходимые разрешения один раз, а затем все произойдет автоматически (я бы сэкономил все, что необходимо для моей БД). Я пробовал использовать toolkit 2.0 для facebook для .net, но ничего не видел там, что могло бы мне помочь. Любая помощь будет оценена.

Теги:
facebook
desktop

2 ответа

1
Лучший ответ

Здесь у меня есть ответы. Я думаю, что он отвечает на другие вопросы, которые я видел в Интернете в последнее время:

Мой ответ связан с настольными приложениями, которые работают за пределами facebook (facebook connect). + Я использую инструментарий разработчика facebook 2.1:

Вот как получить специальное разрешение, необходимое для автономного доступа. и как получить ключ сеанса:

facebook.Components.FacebookService FS = new facebook.Components.FacebookService();
FS.GetExtendedPermission(facebook.Types.Enums.Extended_Permissions.offline_access);

Вторая строка заставит вас войти в систему, а потом попросит разрешения после того, как пользователь решит предоставить разрешение, вы укажете в URL-адрес сообщения - fb_si_session_key. НО разработчики инструментария не сделали этого достаточно, чтобы донести его до вас: - (

Итак, у вас мало вариантов. простой:

FS.Logoff();
FS.ConnectToFacebook();

Что произойдет, так это то, что вы увидите экран входа в систему в течение секунды, и прежде чем вы сможете щелкнуть все, что исчезнет. но на этот раз у вас будет правильный ключ сеанса. вы можете сделать это так:

string myPermanentSessionKey =  FS.API.SessionKey;

Если вы не хотите снова показывать этот раздражающий экран, у вас есть несколько вариантов, все они связаны с изменением исходных файлов инструментария. Я не собираюсь входить сюда, но просто скажу вам простой вариант: в функции facebookconnect() я изменил его, чтобы получить параметр (isShow), когда я отправляю ему true, он ведет себя нормально, когда я отправляю false он - пропускает на formLogin.ShowDialog();

Работает.

  • 0
    еще кое-что. после того как вы дадите разрешение, Facebook скажет вам закрыть окно. но если ты это сделаешь - это вызовет исключение. это СНОВА из-за инструментария. Я справился с попыткой поймать. в ожидании лучшего инструментария в будущем или исправления, когда у меня будет время
  • 0
    теперь, когда я стал более опытным в фейсбуке, я думаю, что есть лучшие способы, так или иначе, теперь есть новый API, поэтому все здесь становится старым. особенно когда они выбросят старый API. как твиттер делают в эти дни.
4

Для вас вопрос: вам необходимо использовать API-интерфейс Facebook Connect

  • есть функция под названием offline_access - ее расширенное разрешение.
  • В FB Connect вам нужно переключить правильное всплывающее окно:
  • Рабочий процесс будет таким:
    • Пользователь использует FB Connect для подтверждения того, что он хочет подключить ваше приложение к своей учетной записи facebook.
    • Вы запускаете всплывающее окно.
    • Затем вы можете вызывать все вызовы по его разрешению, даже если он отключен (или не использует подключение к facebook).

Для понимания: FB Connect означает, что вы можете легко зарегистрировать пользователя в своем приложении и делать все от его имени. offline_access фактически предназначен для работы cronjob.

  • 0
    Благодарю. Можете ли вы сказать мне, если (и как) это можно сделать с помощью инструментария разработчика?
  • 0
    извините, у меня есть только практический опыт работы с приложениями fb connect и canvas
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню