Since the Access token has expiration time of 60 minutes , one of the easy and better way would be use Cache and storing it into Cache for 30 mins rather than persisting it into a database.
This will also help in efficient call of API reducing the rate limit issue. Storing in DB will not be a good idea as it will be expiring after 60 mins and so no use of persisting it .
You can also generate the access token from refresh token whose expiration time is longer compared to access token
"other thing is can i get access token from back end without opening RingCentral Popup or login page ? "
For grant type =Authorization code, you will be compulsorily getting login page , but you can you can avoid it if you use grant type =Password
HTTP Status Code: GatewayTimeout 3 Answers