Skip to content

OpenAPI document driven Salesforce API Golang library.

Notifications You must be signed in to change notification settings

Russman12/go-force

Repository files navigation

go-force

Overview

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.

How it works

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.

Installation

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")

Configuration of Server URL

The server URL is automatically determined based on the oauth2 response from salesforce.

Usage

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

Supported APIs

About

OpenAPI document driven Salesforce API Golang library.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published