This project is a documentation first implementation of a salesforce client for golang. OpenApi documents are used to generate teh documentation then cade is automatically generated using the documentation provided.
All the code in this project is automatically generated via openapi-generator. There are several openapi files which and are used to automatically generate the code necessary to make http requests to the various salesforce endpoints. The openapi documents can also be viewed to better understand how the APIs work in salesforce.
Add the following import:
import "github.com/russman12/go-force/pkg/rest"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
The server URL is automatically determined based on the oauth2 response from salesforce.
The example below demonstrates how to send a request to the (REST Resources)[https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_discoveryresource.htm].
package main
import (
"fmt"
"golang.org/x/oauth2"
"context"
)
func main() {
oAuth2Cfg := clientcredentials.Config{}
tokenSrc := oAuth2Cfg.TokenSource(context.Background())
packageName.NewAPIClient(packageName.NewConfiguration(), tokenSrc)
restClient := rest.NewAPIClient(rest.NewConfiguration(), tokenSrc)
resources, _, err := restClient.OrgApi.GetResources(context.Background()).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", resources)
}
See API documentation for implementation details