I would like to post an answer I recieved a response from the response
So basic flow here would be:
- Obtain Authorization Code using browser
- Feed/redirect the access code to your application somehow
- Exchange code for an Access Token and Refresh Token
- Store Refresh Token
- Use refresh token once a day to get a new Access Token payload
- Always replace the stored Refresh token in the payload, even though they will be the same most of the time
If this flow is done properly, you should not need to login using the browser again, but it is good to always have the ability to feed your app a new code just in case
---
Maybe this help someone.
Also the reason for the
{
"error": "invalid_request",
"error_description": "Required parameter(s) missing or wrong."
}
Error was that the redirect_url was not the same I had in the access token request. Mybe that helps someone
https://api.getgo.com/oauth/v2/authorize?client_id=CLIENT_ID_HERE&redirect_uri=https://mywebsite.io
// use the same redirect_uri here
curl --location --request POST 'https://api.getgo.com/oauth/v2/token' \
--header 'Authorization: Basic <BASE64 client_id : client_secret>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code={CODE}' \
--data-urlencode 'redirect_uri=https://mywebsite.io'