Мне нужно ввести квоты для каждого пользователя в моих вызовах API Google и Gmail API.
https://developers.google.com/gmail/api/v1/reference/query-parameters
Как настроить quotaUser с помощью PHP?
$client = new Google_Client(); $client->setApplicationName('My App'); $client->setAuthConfig('credentials.json'); $client->setAccessType('offline'); $client->setRedirectUri('my url'); $client->setScopes( array( Google_Service_Gmail::GMAIL_SEND, 'email', 'profile', 'openid' ) ); $client->authenticate($_GET['code']); $service = new Google_Service_Oauth2($client); $info = $service->userinfo->get(); $gmail = new Google_Service_Gmail($client); $gmail->users_messages->send('me', 'my message');
Чтобы ввести квоты для каждого пользователя, вам необходимо присвоить уникальное значение (например, адрес электронной почты) в поле «quotaUser» или назначить IP-адрес пользователя в поле «userIP». [1]
Вот пример рабочего кода для обеспечения квот для каждого пользователя (он работал для меня в моем тестовом приложении с использованием быстрого запуска Gmail [2] и добавлением приведенного ниже кода):
$optParams = array('quotaUser' => "username@gsuite-domain.com"); $response = $gmail->users_messages->send("me", $message, $optParams);
В консоли платформы Google Cloud (console.cloud.google.com) вы можете редактировать ограничение квоты для каждого пользователя и API. Прочтите инструкции о том, как редактировать квоты [3].
Вы можете проверить «единицы квоты», используемые для каждого метода API Gmail, чтобы вы могли рассчитать желаемый лимит дневной квоты. [4].
Документация по PHP UserMessages_Resource из Gmail API [5].
[1] https://developers.google.com/gmail/api/v1/reference/query-parameters
[2] https://developers.google.com/gmail/api/quickstart/php
[3] https://cloud.google.com/apis/docs/capping-api-usage
[4] https://developers.google.com/gmail/api/v1/reference/quota
[5] https://developers.google.com/resources/api-libraries/documentation/gmail/v1/php/latest/class-Google_Service_Gmail_UsersMessages_Resource.html