# GCPRestApi

## get

Make GET call for GCPRestApi.

```
GCPRestApi.get(String requestUrl)

or

GCPRestApi.get(String requestUrl, String serviceAccountKeyPropName, 
String authenticationPath)

or

GCPRestApi.get(String requestUrl, String refreshToken, String clientId, 
String clientSecret)
```

#### Parameters

```
requestUrl
serviceAccountKeyPropName
authenticationPath
refreshToken
clientId
clientSecret
```

#### Returns

```
Object
```

## post

Make POST call for GCPRestApi.

```
GCPRestApi.post(String requestUrl, Object body)

or

GCPRestApi.post(String requestUrl, Object body, Map<String, String> headers)

or

GCPRestApi.post(String requestUrl, Object body, String serviceAccountKeyPropName, 
String authenticationPath)

or

GCPRestApi.post(String requestUrl, Object body, String refreshToken, String clientId, 
String clientSecret)

or 

GCPRestApi.post(String requestUrl, Object body, Map<String, String> headers,
      String refreshToken, String clientId, String clientSecret)
      
or

GCPRestApi.post(String requestUrl, Object body, Map<String, String> headers,
      String serviceAccountKeyPropName, String authenticationPath)
```

#### Parameters

```
requestUrl
body
serviceAccountKeyPropName
authenticationPath
refreshToken
clientId
clientId
headers
```

#### Returns

```
Object
```

## put

Make PUT call for GCPRestApi.

```
GCPRestApi.put(String requestUrl, Object body)

or

GCPRestApi.put(String requestUrl, Object body, String serviceAccountKeyPropName, 
String authenticationPath)

or

GCPRestApi.put(String requestUrl, Object body, String refreshToken, String clientId, 
String clientSecret)
```

#### Parameters

```
requestUrl
body
serviceAccountKeyPropName
authenticationPath
refreshToken
clientId
clientSecret
```

#### Returns

```
Object
```

## delete

Make DELETE call for GCPRestApi.

```
GCPRestApi.delete(String requestUrl, Object body)

or

GCPRestApi.delete(String requestUrl, Object body, String serviceAccountKeyPropName, 
String authenticationPath)

or

GCPRestApi.delete(String requestUrl, Object body, String refreshToken, String clientId, 
String clientSecret)
```

#### Parameters

```
requestUrl
body
serviceAccountKeyPropName
authenticationPath
refreshToken
clientId
clientSecret
```

#### Returns

```
Object
```

## patch

Make PATCH call for GCPRestApi.

```
GCPRestApi.patch(String requestUrl, Object body)

or

GCPRestApi.patch(String requestUrl, Object body, String serviceAccountKeyPropName,
                           String authenticationPath)

or

GCPRestApi.patch(String requestUrl, Object body, String refreshToken, String clientId,
                           String clientSecret)
```

#### Parameters

```
requestUrl
body
serviceAccountKeyPropName
authenticationPath
refreshToken
clientId
clientSecret
```

#### Returns

```
Object
```

## publish

publish message

```
GCPRestApi.publish(String topicId, Object message)
```

#### Parameters

```
topicId
message
```

#### Returns

```
Result
```

## subscribe

subscribe message

```
GCPRestApi.subscribe(String subscriptionId, MessageReceiver receiver)
```

#### Parameters

```
subscriptionId
receiver
```

#### Returns

```
Result
```

## unsubscribe

unsubscribe message

```
GCPRestApi.serviceAccountKeyToToken(String serviceAccountKeyPropName,
      String authenticationPath)
```

#### Parameters

```
serviceAccountKeyPropName
authenticationPath
```

#### Returns

```
GCPTokenInfo
```
