Запрос Multi Picker - Могу ли я выполнить операцию перед отправкой запроса?

Во время кодирования я начал задаваться вопросом, есть ли возможность выполнить действие до отправки фактического запроса.

Например, у меня есть код:

FB.ui({method: 'apprequests',
    title: 'The Challenge Game!',
    message: 'I challenge you!',
}, challengeCallback);

И я бы хотел, чтобы мой пользователь мог бросить вызов другу только один раз - это означает, что если в БД существует проблема, связывающая двух пользователей, не должно быть еще одной задачи, созданной до тех пор, пока первая не будет закончена или истек срок ее действия.

Таким образом, между выбором друзей и отправкой запросов должен быть вызов функции.

Однако я знаю, что я не получу пользователей fb_id до того, как запрос действительно будет отправлен.

После выбора друзей я всегда могу подсказать своему пользователю, что вызов для этого конкретного человека уже существует и находится на рассмотрении. Но что происходит с запросом, который ждет вызывающего в его / ее почтовом ящике?

Есть ли что-то, что я не могу сделать, чтобы создать свою собственную подборку друзей? Может, как-нибудь переделать FB.ui?

1 ответ

Решение

Когда вы посмотрите на описание диалога запросов, вы увидите параметр exclude_ids, с помощью которого вы можете указать идентификаторы пользователей, которые будут исключены из селектора нескольких друзей.

Так что, если вы посмотрите в своей базе данных, к какому из своих друзей ваш пользователь уже отправил запрос, вы можете указать эти идентификаторы.

Only cave-at: этот параметр не поддерживается на мобильных устройствах; поэтому, если вы нацеливаетесь на них, вам, возможно, придется искать другое решение (которое, скорее всего, создаст ваш собственный селектор с несколькими друзьями) - но сейчас я не уверен, применяется ли это ограничение только к нативным мобильным приложениям; возможно, при использовании JS SDK в веб-приложении оно будет работать и над ними (формулировка в документации не совсем ясна по этому поводу).

Другие вопросы по тегам