Skip to content

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

@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

No one assigned

    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