Я думаю, что я прочитал почти все на тему выхода из Facebook в приложении для ПК.Пока ничего не работает.
В частности, я хотел бы выйти из системы, чтобы пользователи могли переключать учетные записи, например, люди, использующие компьютер дома, могли затем использовать программное обеспечение со своими собственными учетными записями Facebook, но без возможности переключать учетные записи, этодовольно грязно(Еще не тестировали переключение учетных записей пользователей Windows, поскольку это слишком много, чтобы спросить конечного пользователя, и в этом нет необходимости.)
Теперь я должен сказать, что я настроил приложение для использования этих разрешений.:
string[] permissions = new string[] { "user_photos", "publish_stream", "offline_access" };
Итак, "offline_access" включен там.Я не знаю, влияет ли это на выход из системы или нет.
Опять же, моя цель выхода из системы - просто переключить пользователей.(Если есть лучший подход, пожалуйста, дайте мне знать.)
Предполагаемые решения:
- Используйте JavaScript SDK (FB.logout ())
- Вместо этого используйте «m.facebook.com»
- Создайте свой собственный URL (и, возможно, используйте m.facebook.com)
- Создайте свой собственный URL и используйте переменную сеанса (в ASP.NET)
Первый вид глупый.Зачем прибегать к JavaScript, когда вы используете C #?Это своего рода шаг назад и много дополнительных затрат в настольном приложении.(Я не пробовал это, потому что это просто отвратительно грязно делать в настольном приложении.) Если кто-нибудь может подтвердить, что это единственный рабочий метод, пожалуйста, сделайте это.Я отчаянно пытаюсь избежать этого.
Второй не работает.Возможно, это сработало в прошлом, но мои многочисленные попытки заставить его работать не увенчались успехом.
Третий не работает.Я пробовал множество дюжин вариантов с нулевым успехом.
Последний вариант там не работает для настольных приложений, потому что это не ASP.NET, и у вас нет переменной сеанса для работы.
Выход из Facebook C # SDK также больше не работает.то есть
public FacebookLoginDialog(string appId, string[] extendedPermissions, bool logout)
{
IDictionary<string, object> loginParameters = new Dictionary<string, object>
{
{ "response_type", "token" },
{ "display", "popup" }
};
_navigateUri = FacebookOAuthClient.GetLoginUrl(appId, null, extendedPermissions, logout, loginParameters);
InitializeComponent();
}
Я помню, как он работал в прошлом, но сейчас он больше не работает.(Что действительно озадачивает меня ...)
Вместо этого теперь он направляет пользователя на мобильную страницу Facebook, где пользователь должен выйти из системы вручную.
Теперь я мог бы выполнить автоматизацию браузера, чтобы автоматически щелкнуть ссылку выхода пользователя, однако это может привести к поломке, если Facebook обновит мобильный интерфейс пользователя.Это также грязное и, возможно, худшее решение, чем пытаться использовать метод JavaScript SDK FB.logout () (хотя и ненамного).
Я искал какую-то документацию, однако я не могу найти ничего в документации разработчика Facebook, которая иллюстрирует, как выйти из приложения.
Кто-нибудь решил эту проблему или видел какую-либо документацию, которую можно перенести для работы с Facebook C # SDK?
Я, безусловно, открыт для использования WebClient или HttpClient / Response, если кто-то может указать на какую-то документацию, которая может с ним работать.Я просто не смог найти какую-либо документацию низкого уровня, которая показывает, как этот подход может работать.
Заранее благодарим вас за любые советы, указатели или ссылки.