I am working on my first golang application. I am trying to take a url value through the router and push it along to a url which will make a POST request to a API. All of that works, but when I try to make query parameters to send with the POST request using the Value map from net/url
I start to get errors.
Here is the relevant code:
package Utils
import (
"fmt"
"bytes"
"encoding/json"
"encoding/base64"
"log"
"net/http"
"net/url"
"io/ioutil"
)
...
func RetrieveAccessToken(client_id, client_secret, url, grant_type, code, redirect_uri string){
// The data we are going to send with our request
data := url.Values{}
data.Set("client_id", client_id)
data.Add("client_secret", client_secret)
data.Add("grant_type", grant_type)
data.Add("code", code)
data.Add("redirect_uri", redirect_uri)
...
}
And here are the errors I am getting
Utils/Api.go:25:23: error: expected ‘;’ or ‘}’ or newline
data := url.Values{}
^
After this error I get an error like this for every single line following the previous one:
Utils/Api.go:26:5: error: expected declaration
data.Set("client_id", client_id)
^
Until finally I get this error referencing that net/url Values
call
Utils/Api.go:25:16: error: reference to undefined field or method ‘Values’
data := url.Values{}
^
If anyone could help me figure this out I would be very grateful. I have been looking at the Go docs for awhile, and it seems like I have been following their examples pretty closely. If there is a rule I am misunderstanding, or something I am missing I would be very thankful if you could point me in the right direction!
Thanks again!