func (provider *InstagramProvider) Get(creds *common.Credentials, endpoint string) (objx.Map, error) {
	return oauth2.Get(provider, creds, endpoint)
}
Get makes an authenticated request and returns the data in the
response as a data map.
package instagram
import (
	"github.com/stretchr/gomniauth"
	"github.com/stretchr/gomniauth/common"
	"github.com/stretchr/gomniauth/oauth2"
	"github.com/stretchr/objx"
	"net/http"
)
const (
	instagramDefaultScope    string = "basic"
	instagramName            string = "instagram"
	instagramDisplayName     string = "Instagram"
	instagramAuthURL         string = "https://api.instagram.com/oauth/authorize"
	instagramTokenURL        string = "https://api.instagram.com/oauth/access_token"
	instagramEndpointProfile string = "https://api.instagram.com/v1/users/self"
)
type InstagramProvider struct {
	config         *common.Config
	tripperFactory common.TripperFactory
}
func New(clientId, clientSecret, redirectUrl string) *InstagramProvider {
	p := new(InstagramProvider)
	p.config = &common.Config{Map: objx.MSI(
		oauth2.OAuth2KeyAuthURL, instagramAuthURL,
		oauth2.OAuth2KeyTokenURL, instagramTokenURL,
		oauth2.OAuth2KeyClientID, clientId,
		oauth2.OAuth2KeySecret, clientSecret,
		oauth2.OAuth2KeyRedirectUrl, redirectUrl,
		oauth2.OAuth2KeyScope, instagramDefaultScope,
		oauth2.OAuth2KeyAccessType, oauth2.OAuth2AccessTypeOnline,
		oauth2.OAuth2KeyApprovalPrompt, oauth2.OAuth2ApprovalPromptAuto,
		oauth2.OAuth2KeyResponseType, oauth2.OAuth2KeyCode)}
	return p
}
func (provider *InstagramProvider) TripperFactory() common.TripperFactory {
	if provider.tripperFactory == nil {
		provider.tripperFactory = new(oauth2.OAuth2TripperFactory)
	}
	return provider.tripperFactory
}
func (provider *InstagramProvider) PublicData(options map[string]interface{}) (interface{}, error) {
	return gomniauth.ProviderPublicData(provider, options)
}
func (provider *InstagramProvider) Name() string {
	return instagramName
}
func (provider *InstagramProvider) DisplayName() string {
	return instagramDisplayName
}
func (provider *InstagramProvider) GetBeginAuthURL(state *common.State, options objx.Map) (string, error) {
	if options != nil {
		scope := oauth2.MergeScopes(options.Get(oauth2.OAuth2KeyScope).Str(), instagramDefaultScope)
		provider.config.Set(oauth2.OAuth2KeyScope, scope)
	}
	return oauth2.GetBeginAuthURLWithBase(provider.config.Get(oauth2.OAuth2KeyAuthURL).Str(), state, provider.config)
}