Share Groups

A ShareGroup is a way for you to store and name groups of email contacts to be used for sending share and inbox invitations.

List Share Groups

SDK Method

share_group.List()

Return Values

Returns a *share_group.Iter and an error. Range over All() to receive files_sdk.ShareGroup values and errors. Check each loop error before using its resource. Next() and Err() remain supported.

Authorization Requirement

Available to all authenticated keys or sessions.

ShareGroupListParams Fields

FieldDescription
UserId
int64
User ID. Provide a value of 0 to operate the current session's user.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    share_group "github.com/Files-com/files-sdk-go/v3/sharegroup"
)

shareGroupIterator, err := share_group.List(files_sdk.ShareGroupListParams{UserId: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

for shareGroup, err := range shareGroupIterator.All() {
    if err != nil {
        var respErr files_sdk.ResponseError
        if errors.As(err, &respErr) {
            fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
        } else {
            fmt.Printf("Request failed: %v\n", err)
        }
        return
    }
    fmt.Println(shareGroup)
}

Show Share Group

SDK Method

share_group.Find()

Return Values

Returns a files_sdk.ShareGroup value and an error.

Authorization Requirement

Available to all authenticated keys or sessions.

ShareGroupFindParams Fields

FieldDescription
Id
int64
Required
Share Group ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    share_group "github.com/Files-com/files-sdk-go/v3/sharegroup"
)

shareGroup, err := share_group.Find(files_sdk.ShareGroupFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(shareGroup)

Create Share Group

SDK Method

share_group.Create()

Return Values

Returns a files_sdk.ShareGroup value and an error.

Authorization Requirement

Available to all authenticated keys or sessions.

ShareGroupCreateParams Fields

FieldDescription
UserId
int64
User ID. Provide a value of 0 to operate the current session's user.
Notes
string
Additional notes of the share group
Name
string
Required
Name of the share group
Members
array(object)
Required
A list of share group members.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    share_group "github.com/Files-com/files-sdk-go/v3/sharegroup"
)

shareGroup, err := share_group.Create(files_sdk.ShareGroupCreateParams{
  Name: "Test group 1",
  Members: []map[string]interface{}{map[string]interface{}{"name": "John Doe", "company": "Acme Ltd", "email": "johndoe@gmail.com"}},
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(shareGroup)

Update Share Group

SDK Method

share_group.Update()

Return Values

Returns a files_sdk.ShareGroup value and an error.

Authorization Requirement

Available to all authenticated keys or sessions.

ShareGroupUpdateParams Fields

FieldDescription
Id
int64
Required
Share Group ID.
Notes
string
Additional notes of the share group
Name
string
Name of the share group
Members
array(object)
A list of share group members.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    share_group "github.com/Files-com/files-sdk-go/v3/sharegroup"
)

shareGroup, err := share_group.Update(files_sdk.ShareGroupUpdateParams{
  Id: 1,
  Notes: "This group is defined for testing purposes",
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(shareGroup)

Delete Share Group

SDK Method

share_group.Delete()

Return Values

Returns an error, or nil on success.

Authorization Requirement

Available to all authenticated keys or sessions.

ShareGroupDeleteParams Fields

FieldDescription
Id
int64
Required
Share Group ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    share_group "github.com/Files-com/files-sdk-go/v3/sharegroup"
)

err := share_group.Delete(files_sdk.ShareGroupDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

The ShareGroup Object

Some of the methods above return a ShareGroup object. The attributes of this object are listed below.

AttributeDescription
Id
int64
Share Group ID
Name
string
Name of the share group
Notes
string
Additional notes of the share group
UserId
int64
Owner User ID
Members
array(object)
A list of share group members