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!
You've shadowed the "url" package name with the url argument in your function. Rename the latter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With