Запрос 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 в веб-приложении оно будет работать и над ними (формулировка в документации не совсем ясна по этому поводу).