Как заблокировать запросы веб-хоста Facebook для конкретных пользователей приложений? [Дубликат]

Пул String (ака interning ) и Целочисленный пул размывает разницу и может позволить вам использовать == для объектов в некоторых случаях вместо .equals

Это может дать вам большую производительность (?) за счет большей сложности.

Например:

assert "ab" == "a" + "b";

Integer i = 1;
Integer j = i;
assert i == j;

Компромисс сложности: вас может удивить следующее:

assert new String("a") != new String("a");

Integer i = 128;
Integer j = 128;
assert i != j;

Я советую вам держаться подальше от такой микро-оптимизации, а всегда использовать .equals для объектов, а == для примитивов:

assert (new String("a")).equals(new String("a"));

Integer i = 128;
Integer j = 128;
assert i.equals(j);

6
задан Goalie 22 May 2012 в 23:03
поделиться

2 ответа

Вы ищете отказ от авторизации:

Вы можете отменить авторизацию приложения или отменить определенные расширенные разрешения от имени пользователя, отправив запрос HTTP DELETE в PROFILE_ID / разрешения с помощью пользователь access_token для этого приложения.

permission - разрешение, которое вы хотите отменить. Если вы не укажете разрешение, это полностью отменяет действие приложения.

Чтобы выполнить этот запрос, выполните следующие действия:

https://graph.facebook.com/me/permissions?method=delete&access_token=...

авторизованный он не будет отображаться в списке пользовательских приложений.

10
ответ дан Juicy Scripter 19 August 2018 в 12:07
поделиться
  • 1
    Это способ сделать это для ВСЕХ пользователей, не удаляя приложение непосредственно? – alybadawy 10 August 2016 в 01:31
  • 2
    Если у меня много разрешений, нужно ли мне перебирать все из них и удалять все из них, чтобы мое приложение больше не отображалось? – kyo 3 October 2016 в 18:01

Реальные пользователи «удаляют» себя из вашего приложения, когда они удаляют ваше приложение из своей учетной записи, вам ничего не нужно делать.

Если вы хотите узнать, когда пользователи деактивируют ваше приложение например, вы можете указать Deauthorize Callback URL в настройках вашего приложения. Как описано в документах в https://developers.facebook.com/docs/authentication/ :

После удаления приложения мы отправим запрос HTTP POST, содержащий single parameter, signed_request, который после декодирования даст объект JSON, содержащий user_id пользователя, который только отменил авторизацию вашего приложения. Вы не получите токен доступа пользователя в этом запросе, и все существующие токены доступа пользователя, которые ранее были выданы от имени этого пользователя, станут недействительными.

UPDATE: для удаления собственного приложения из авторизованные приложения пользователя, выдайте HTTP DELETE на https://graph.facebook.com/[userid]/permissions?access_token=... в соответствии с https://developers.facebook.com/docs/reference/api/user/ .

Обычно API-интерфейс графика звонки также поддерживают выполнение HTTP POST с дополнительным параметром, method=DELETE, если вызовы DELETE невозможны / поддерживаются.

4
ответ дан chesles 19 August 2018 в 12:07
поделиться
  • 1
    Я хочу, чтобы пользователь мог удалить приложение с моего сайта. Если вы использовали pinterest, вы увидите, что на странице пользовательских настроек пользователя можно связать / отменить связь своего приложения facebook на своем веб-сайте, а не на facebook.com. Это полностью удаляет приложение pinterest из списка приложений facebook, установленных пользователем. – Goalie 22 May 2012 в 23:13
  • 2
    Я понимаю, что вы имели в виду сейчас. Я обновил свой ответ соответственно. – chesles 23 May 2012 в 00:06
Другие вопросы по тегам:

Похожие вопросы: