This repository has been archived by the owner on Feb 9, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
oauth2_api.go
107 lines (92 loc) · 4.32 KB
/
oauth2_api.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
* Meltwater Streaming API v2
*
* The Meltwater Streaming API provides the needed resources for Meltwater clients to create & delete REST Hooks and stream Meltwater search results to your specified destination.
*
* OpenAPI spec version: 2.0.0
* Contact: [email protected]
* Generated by: https://github.com/swagger-api/swagger-codegen.git
*/
package swagger
import (
"net/url"
"strings"
"encoding/json"
)
type Oauth2Api struct {
Configuration *Configuration
}
func NewOauth2Api() *Oauth2Api {
configuration := NewConfiguration()
return &Oauth2Api{
Configuration: configuration,
}
}
func NewOauth2ApiWithBasePath(basePath string) *Oauth2Api {
configuration := NewConfiguration()
configuration.BasePath = basePath
return &Oauth2Api{
Configuration: configuration,
}
}
/**
* Create an access token
* Create an OAuth2 access token based on the provided `client_id` and `client_secret`. #### Appendix The Base64-encoded `client_id`:`client_secret` string can be generated in a terminal with following command: $ echo -n \"your_client_id:your_client_secret\" | base64 <i>You will need `base64` installed.</i>
*
* @param userKey The `user_key` from [developer.meltwater.com](https://developer.meltwater.com/admin/applications/).
* @param authorization `client_id:client_secret` Basic Auth (RFC2617) credentials. Must contain the realm `Basic` followed by a Base64-encoded `client_id`:`client_secret` pair. #### Example: Basic aAlfbb1haWxDSXhhDXxxZWKJAyZXQ=
* @param grantType OAuth2 grant type, use `client_credentials`
* @param scope OAuth2 scope, use `search`
* @return *OAuth2Token
*/
func (a Oauth2Api) CreateToken(userKey string, authorization string, grantType string, scope string) (*OAuth2Token, *APIResponse, error) {
var localVarHttpMethod = strings.ToUpper("Post")
// create path and map variables
localVarPath := a.Configuration.BasePath + "/oauth2/token"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := make(map[string]string)
var localVarPostBody interface{}
var localVarFileName string
var localVarFileBytes []byte
// add default headers if any
for key := range a.Configuration.DefaultHeader {
localVarHeaderParams[key] = a.Configuration.DefaultHeader[key]
}
// to determine the Content-Type header
localVarHttpContentTypes := []string{ "application/x-www-form-urlencoded", }
// set Content-Type header
localVarHttpContentType := a.Configuration.APIClient.SelectHeaderContentType(localVarHttpContentTypes)
if localVarHttpContentType != "" {
localVarHeaderParams["Content-Type"] = localVarHttpContentType
}
// to determine the Accept header
localVarHttpHeaderAccepts := []string{
"application/json",
}
// set Accept header
localVarHttpHeaderAccept := a.Configuration.APIClient.SelectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
// header params "user-key"
localVarHeaderParams["user-key"] = a.Configuration.APIClient.ParameterToString(userKey, "")
// header params "Authorization"
localVarHeaderParams["Authorization"] = a.Configuration.APIClient.ParameterToString(authorization, "")
localVarFormParams["grantType"] = a.Configuration.APIClient.ParameterToString(grantType, "")
localVarFormParams["scope"] = a.Configuration.APIClient.ParameterToString(scope, "")
var successPayload = new(OAuth2Token)
localVarHttpResponse, err := a.Configuration.APIClient.CallAPI(localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
var localVarURL, _ = url.Parse(localVarPath)
localVarURL.RawQuery = localVarQueryParams.Encode()
var localVarAPIResponse = &APIResponse{Operation: "CreateToken", Method: localVarHttpMethod, RequestURL: localVarURL.String()}
if localVarHttpResponse != nil {
localVarAPIResponse.Response = localVarHttpResponse.RawResponse
localVarAPIResponse.Payload = localVarHttpResponse.Body()
}
if err != nil {
return successPayload, localVarAPIResponse, err
}
err = json.Unmarshal(localVarHttpResponse.Body(), &successPayload)
return successPayload, localVarAPIResponse, err
}