Как сделать так, чтобы у каждого пользователя были свои ограничения API?

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

Меня беспокоят ограничения API. На данный момент идентификатор клиента и секрет проекта жестко запрограммированы, потому что я хочу, чтобы пользователи могли просто загружать и запускать инструменты (которые отлично работают, пока кто-то не запросит всех пользователей и не израсходует половину дневного лимита для одного из API). Я понимаю, что могу запросить больше вызовов API, но не уверен, что это лучшее решение.

Чтобы у каждого пользователя были свои собственные ограничения API, нужно ли мне, чтобы каждый человек, использующий его, настраивал новый проект Google Code со своим собственным набором ограничений? Или есть способ разрешить одному и тому же проекту иметь ограничения на основе домена? Я не уверен, что такое лучшая практика.

Редактировать: я должен упомянуть, что я аутентифицируюсь через OAuth2.0, используя двухэтапную аутентификацию, поскольку я понимаю, что это лучший способ сделать это для администраторов и пользователей... должен ли я вместо этого использовать трехэтапную аутентификацию?


person squid808    schedule 12.11.2013    source источник


Ответы (1)


Это (наверное) не ответ, а...

Хороший вопрос заключается именно в том, что такое «приложение». В этом ответе Каковы ограничения на использование API Google Диска?, Nivco из Google говорит: «В настоящее время для Drive API это гласит: «Ограничение любезности: 10 000 000 запросов в день». Это квота для каждого приложения».

а в консоли API ваш проект может состоять из множества «приложений», каждое из которых имеет собственный идентификатор клиента.

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

К сожалению, я подозреваю, что это (а), но, возможно, стоит подтвердить.

person pinoyyid    schedule 13.11.2013
comment
Я понимаю, что вы говорите, и я не думал о своем проекте как о «приложении», но я полагаю, что технически это так. Я просто хотел дать пользователям набор инструментов для управления своим доменом (или своими личными учетными записями). До недавнего времени мне не приходило в голову ограничения API. Я собираюсь связаться с несколькими другими подобными проектами (на других языках), чтобы узнать, как они справляются с этим. - person squid808; 13.11.2013