#android #google-cloud-platform
#Android #google-облачная платформа
Вопрос:
Я взял демонстрацию преобразования речи в текст отсюда. Я хочу установить ежедневный лимит вызовов API для каждого пользователя (сеанса пользователя). Есть ли какой-либо собственный способ Android для этого? Я думаю, что это возможно с помощью Firebase, создавая для каждого пользователя сеанс, хотя и не уверен, я прав, но это было бы неудобно.
Разве каждая установка на устройстве не уникальна, я думаю, что, вероятно, существует какое-то собственное решение для управления вызовами API в сеансе пользователя.
На самом деле у меня нет отправной точки, поэтому у меня нет кода, которым можно поделиться.
Ответ №1:
- используйте аутентификацию firebase для авторизации пользователей в вашем приложении
- используйте задания cron в облаке Google для ежедневного обновления пользовательской квоты
- при запросах на ваши API вы можете уменьшить квоту на 1 единицу и отклонить, если есть какой-либо запрос, превышающий квоту
Комментарии:
1. Я пропустил, что это не решение, проблема в том, что облачные конечные точки могут быть отлажены кем угодно, а затем злоупотреблены. Таким образом, уровень облачности сервера должен быть решением, а не решением на стороне клиента. (Я не хочу создавать для этого целый сервер, поэтому я все еще ищу то, что предоставляет Google Cloud).
2. как кто-то мог его взломать? можно вызывать API только от своего имени, и тогда он всегда будет уменьшать их квоту. используйте JWTs для авторизации API
3. запустите приложение с помощью анализатора сетевого трафика, примите интернет-запрос, затем запустите его снова с теми же параметрами
4. это приведет к сокращению квоты пользователя, тогда в чем проблема?
5. @Curcuma_ попытайтесь понять. при каждом запросе их квота будет уменьшена. и в запросе не будет данных о квоте. он будет запрошен из базы данных, когда произойдет запрос, а затем квота будет обновлена в базе данных. так что, если пользователь вызовет api. он ничего не получит, вместо этого он уменьшит свою квоту