Я создаю настольное приложение на С#. одна из вещей, которую это приложение должно делать, - публиковать вещи в статусе пользователя в facebook (например: "Дэйв только выиграл 3 золотые медали" ). это должно произойти, если пользователь зарегистрировался сейчас на facebook или нет. Я хочу, чтобы пользователь дал мне все необходимые разрешения один раз, а затем все произойдет автоматически (я бы сэкономил все, что необходимо для моей БД). Я пробовал использовать toolkit 2.0 для facebook для .net, но ничего не видел там, что могло бы мне помочь. Любая помощь будет оценена.
Здесь у меня есть ответы. Я думаю, что он отвечает на другие вопросы, которые я видел в Интернете в последнее время:
Мой ответ связан с настольными приложениями, которые работают за пределами 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();
Работает.
Для вас вопрос: вам необходимо использовать API-интерфейс Facebook Connect
Для понимания: FB Connect означает, что вы можете легко зарегистрировать пользователя в своем приложении и делать все от его имени. offline_access фактически предназначен для работы cronjob.