Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting errors with net/url Values{}

Tags:

go

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!

like image 778
Chris Frank Avatar asked Apr 14 '26 03:04

Chris Frank


1 Answers

You've shadowed the "url" package name with the url argument in your function. Rename the latter.

like image 146
JimB Avatar answered Apr 17 '26 08:04

JimB



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!