У меня возникла проблема с отзывом прав доступа Facebook с помощью Android SDK.Как отменить все разрешения Facebook с помощью Android SDK?
В моем приложении есть случай, когда я хочу отменить все разрешения. Согласно документации на Facebook, вы можете использовать AsyncFacebookRunner для этого, и «если вы не укажете разрешение, это полностью отменяет действие приложения».
В настоящее время я делаю это так:
String method = "DELETE";
Bundle params = new Bundle();
params.putString("permission", "");
mAsyncRunner.request("/me/permissions", params, method, new RequestListener()
{ ... }, null);
используя подпись запроса, как это:
void request(String graphPath, Bundle parameters, final String httpMethod,
RequestListener listener, final Object state)
OnComplete() функция обратного вызова, кажется, вернуться в порядке, но не по-видимому, отключили токен доступа. Я предполагаю это, потому что в следующий раз, когда я вызываю facebook.authorize(), он работает, не нажимая пользователя на страницу входа в Facebook.
Любые идеи, что мне нужно, чтобы полностью отказаться от доступа к токену доступа? Или есть другой/лучший способ сделать это? Большое спасибо!
Если вы отправляете команду DELETE/Me/разрешения, приложение facebook должно быть удалено из списка приложений пользователя имеет (http://www.facebook.com/settings?tab=applications). Появляется ли приложение по-прежнему? Если это так, команда DELETE обрабатывается неправильно. Используя действительный токен доступа, можете ли вы проверить, что команда HTTP Delete работает для вас в проводнике Graph API? Я столкнулся с проблемой, когда SDK C# не работал для меня, поэтому в крайнем случае я использовал javascript SDK для удаления разрешений. Возможно, javascript SDK будет работать и на вас. – DMCS
Я подтвердил, что приложение все еще появилось даже после того, как я запустил запрос mAsyncRunner, чтобы удалить его - так что вы правы, что он почему-то не работает, даже если обратный вызов onComplete() возвращен без какого-либо исключения. У меня есть действительный токен доступа; как я могу попробовать то же самое, используя http (т. е. что такое URL-адрес, который делает то же самое)? – gcl1
Инструмент API-анализатора графиков - ваш друг :) http: // разработчики.facebook.com/tools/explorer. Если он работает правильно, попробуйте выполнить «GET» для me/permissions, которые следует немедленно, выполнив «DELETE». Иногда SDK получают лучшую синхронизацию при выполнении GET, за которым следует DELETE (видимо, это происходит из первых рук). – DMCS