Кнопка «Нравится» для Android и Facebook с помощью веб-браузера - требуется вход в систему - PullRequest
0 голосов
/ 19 октября 2011

Я добавил веб-просмотр в свое приложение для Android, чтобы пользователям понравилась определенная страница Facebook.Я сделал это с помощью веб-просмотра, так как читал здесь и в других местах, что Graph API не позволяет пользователям нравится определенная страница Facebook.

Однако для веб-просмотра требуется, чтобы пользователь вошел в Facebookпри первом открытии веб-просмотра, даже если они уже вошли в приложение Facebook (если установлено) или touch.facebook.com в браузере устройств.

Есть ли способ входа в систему?Могу ли я каким-либо образом импортировать любые cookie-файлы Facebook из браузера в мое приложение, например?

Если бы я добавил Graph API в свое приложение и сохранил ключевой хеш приложения в Facebook, будет ли пользователь все ещенужно войти в систему после открытия веб-просмотра?

Спасибо

1 Ответ

1 голос
/ 19 октября 2011

Один из подходов состоит в том, чтобы получить экземпляр менеджера файлов cookie WebView и скопировать его файлы cookie в хранилище файлов cookie вашего HTTP-клиента, чтобы HTTP-клиент использовал файлы cookie, установленные при входе в систему при последующем общении с Facebook.Примерно так ...

CookieManager cookieManager = CookieManager.getInstance();
String cookieString = cookieManager.getCookie("m.facebook.com");
CookieStore mCookieStore = new BasicCookieStore();
mCookieStore.setCookies(cookieString, ".facebook.com", "//");
mCookieStore.sync();

Обратите внимание, что getCookie получает только часть имени = значение файла cookie, поэтому вам нужно будет добавить имя домена и путь, чтобы файл cookie работал в клиенте HTTP.

Другим подходом было бы использование опции единого входа (SSO) в функции авторизации SDK Facebook, которая не требует входа пользователя в систему, если приложение Facebook присутствует и вошло в систему.

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