ringcentral

package
v0.20.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: MIT Imports: 20 Imported by: 15

Documentation

Index

Constants

View Source
const (
	EnvServerURL    = "RINGCENTRAL_SERVER_URL"
	EnvClientID     = "RINGCENTRAL_CLIENT_ID"
	EnvClientSecret = "RINGCENTRAL_CLIENT_SECRET"
	EnvAppName      = "RINGCENTRAL_APP_NAME"
	EnvAppVersion   = "RINGCENTRAL_APP_VERSION"
	EnvRedirectURL  = "RINGCENTRAL_OAUTH_REDIRECT_URL"
	EnvUsername     = "RINGCENTRAL_USERNAME"
	EnvExtension    = "RINGCENTRAL_EXTENSION"
	EnvPassword     = "RINGCENTRAL_PASSWORD"

	ConfKeyAppName    = "app_name"
	ConfKeyAppVersion = "app_version"
)
View Source
const (
	ServerURLProduction  = "https://platform.ringcentral.com"
	ServerURLSandbox     = "https://platform.devtest.ringcentral.com"
	ProductionHostname   = "platform.ringcentral.com"
	SandboxHostname      = "platform.devtest.ringcentral.com"
	AuthURLFormat        = "https://%s/restapi/oauth/authorize"
	TokenURLFormat       = "https://%s/restapi/oauth/token" // #nosec G101
	AuthURLPart          = "restapi/oauth/authorize"
	TokenURLPart         = "restapi/oauth/token" // #nosec G101
	MeURL                = "/restapi/v1.0/account/~/extension/~"
	RestAPI1dot0Fragment = "restapi/v1.0"
)

Variables

This section is empty.

Functions

func BuildURL

func BuildURL(serverURL, urlFragment string, addRestAPI bool, queryValues url.Values) (string, error)

func NewClientPassword

func NewClientPassword(oc goauth.CredentialsOAuth2) (*http.Client, error)

NewClientPassword uses dedicated password grant handling.

func NewClientPasswordSimple

func NewClientPasswordSimple(oc goauth.CredentialsOAuth2) (*http.Client, error)

NewClientPasswordSimple uses OAuth2 package password grant handling.

func NewEndpoint

func NewEndpoint(hostnameOrBasePath string) oauth2.Endpoint

func NewHTTPClientEnvFlexStatic added in v0.13.0

func NewHTTPClientEnvFlexStatic(envPrefix string) (*http.Client, error)

func NewTokenCli

func NewTokenCli(creds goauth.Credentials, state string) (token *oauth2.Token, err error)

func NewTokenPassword

func NewTokenPassword(oc goauth.CredentialsOAuth2) (*oauth2.Token, error)

func PasswordCredentialsToHash

func PasswordCredentialsToHash(pwdCreds goauth.CredentialsOAuth2, salt []byte) string

func RetrieveToken

func RetrieveToken(cfg oauth2.Config, params url.Values) (*oauth2.Token, error)

func UsernameExtensionPasswordToHash

func UsernameExtensionPasswordToHash(username, extension, password string, salt []byte) string

func UsernameExtensionPasswordToString

func UsernameExtensionPasswordToString(username, password string) string

Types

type ClientUtil

type ClientUtil struct {
	Client    *http.Client `json:"-"`
	ServerURL string
	User      RingCentralExtensionInfo `json:"user,omitempty"`
}

ClientUtil is a client library to retrieve user info from the Facebook API.

func NewClientUtil

func NewClientUtil(client *http.Client) ClientUtil

func (*ClientUtil) GetSCIMUser

func (cu *ClientUtil) GetSCIMUser() (scim.User, error)

func (*ClientUtil) GetUserinfo

func (cu *ClientUtil) GetUserinfo() (RingCentralExtensionInfo, error)

GetUserinfo retrieves the userinfo from the https://graph.facebook.com/v2.9/{user-id} endpoint.

func (*ClientUtil) SetClient

func (cu *ClientUtil) SetClient(client *http.Client)

type RcToken

type RcToken struct {
	AccessToken           string    `json:"access_token,omitempty"`
	TokenType             string    `json:"token_type,omitempty"`
	Scope                 string    `json:"scope,omitempty"`
	ExpiresIn             int64     `json:"expires_in,omitempty"`
	RefreshToken          string    `json:"refresh_token,omitempty"`
	RefreshTokenExpiresIn int64     `json:"refresh_token_expires_in,omitempty"`
	OwnerID               string    `json:"owner_id,omitempty"`
	EndpointID            string    `json:"endpoint_id,omitempty"`
	Expiry                time.Time `json:"expiry,omitempty"`
	RefreshTokenExpiry    time.Time `json:"refresh_token_expiry,omitempty"`
	// contains filtered or unexported fields
}

func RetrieveRcToken

func RetrieveRcToken(cfg oauth2.Config, params url.Values) (*RcToken, error)

func (*RcToken) Inflate

func (rcTok *RcToken) Inflate() error

func (*RcToken) OAuth2Token

func (rcTok *RcToken) OAuth2Token() (*oauth2.Token, error)

type RingCentralAccount

type RingCentralAccount struct {
	URI string `json:"uri,omitempty"`
	ID  string `json:"id,omitempty"`
}

type RingCentralContact

type RingCentralContact struct {
	FirstName string `json:"firstName,omitempty"`
	LastName  string `json:"lastName,omitempty"`
	Email     string `json:"email,omitempty"`
}

type RingCentralExtensionInfo

type RingCentralExtensionInfo struct {
	ID              int64              `json:"id,omitempty"`
	ExtensionNumber string             `json:"extensionNumber,omitempty"`
	Contact         RingCentralContact `json:"contact,omitempty"`
	Name            string             `json:"name,omitempty"`
	Account         RingCentralAccount `json:"account,omitempty"`
}

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL