Skip to content

User-rate limit exception/error returns wrong retry-after time, creating forwarding filter not possible #20544

Open
@thomaswitt

Description

@thomaswitt

Environment details

  • OS: macOS 15.1 (doesn't matter)
  • Ruby version: ruby 3.3.6
  • Gem name and version: google-apis-gmail_v1 (0.41.0)

Steps to reproduce

When creating a Filter via the GMail API (Google::Apis::GmailV1) which includes a forward action, this is apparently user-rate limit throttled.

In my Ruby API client I get the following error messages: rateLimitExceeded: User-rate limit exceeded. Retry after 2024-11-12T11:16:42.247Z (Forwarding rules)

Unfortunately, the time returned when to try again is wrong.

My code waits until this time plus a grace period of 60 seconds. When trying at 11:17:42 UTC I get another rateLimitExceeded: User-rate limit exceeded. Retry after 2024-11-12T11:32:42.968Z (Forwarding rules).

Even when I tried the code a couple of hours later, I still get that error on the first request. So the given retry-after time is clearly wrong.

Code example

begin
  @client = Google::Apis::GmailV1::GmailService.new # Authorization code skipped
  criteria = Google::Apis::GmailV1::FilterCriteria.new(…some query…)
  action = Google::Apis::GmailV1::FilterAction.new(forward: "[email protected]") # This is a verified address, cross-checked with list_user_setting_forwarding_addresses
  filter = Google::Apis::GmailV1::Filter.new(criteria: criteria, action: action)
  result = @client.create_user_setting_filter('me', filter_content)
rescue Google::Apis::RateLimitError => e
  puts "Rate Limit Exceeded: #{e}
end
> User-rate limit exceeded.  Retry after 2024-11-12T11:16:42.247Z (Forwarding rules)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions