Libre Graph is a free API for cloud collaboration inspired by the MS Graph API.
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: v1.0.4
- Package version: 1.0.0
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/net/contextPut the package under your project folder and add the following in import:
import libregraph "github.com/owncloud/libre-graph-api-go"To use a proxy, set the environment variable HTTP_PROXY:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value libregraph.ContextServerIndex of type int.
ctx := context.WithValue(context.Background(), libregraph.ContextServerIndex, 1)Templated server URL is formatted using default variables from configuration or from context value libregraph.ContextServerVariables of type map[string]string.
ctx := context.WithValue(context.Background(), libregraph.ContextServerVariables, map[string]string{
"basePath": "v2",
})Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers map in the Configuration.
An operation is uniquely identified by "{classname}Service.{nickname}" string.
Similar rules for overriding default operation server index and variables applies by using libregraph.ContextOperationServerIndices and libregraph.ContextOperationServerVariables context maps.
ctx := context.WithValue(context.Background(), libregraph.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), libregraph.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})All URIs are relative to https://ocis.ocis.rolling.owncloud.works/graph
| Class | Method | HTTP request | Description |
|---|---|---|---|
| ActivitiesApi | GetActivities | Get /v1beta1/extensions/org.libregraph/activities | Get activities |
| ApplicationsApi | GetApplication | Get /v1.0/applications/{application-id} | Get application by id |
| ApplicationsApi | ListApplications | Get /v1.0/applications | Get all applications |
| DriveItemApi | DeleteDriveItem | Delete /v1beta1/drives/{drive-id}/items/{item-id} | Delete a DriveItem. |
| DriveItemApi | GetDriveItem | Get /v1beta1/drives/{drive-id}/items/{item-id} | Get a DriveItem. |
| DriveItemApi | UpdateDriveItem | Patch /v1beta1/drives/{drive-id}/items/{item-id} | Update a DriveItem. |
| DrivesApi | CreateDrive | Post /v1.0/drives | Create a new drive of a specific type |
| DrivesApi | DeleteDrive | Delete /v1.0/drives/{drive-id} | Delete a specific space |
| DrivesApi | GetDrive | Get /v1.0/drives/{drive-id} | Get drive by id |
| DrivesApi | UpdateDrive | Patch /v1.0/drives/{drive-id} | Update the drive |
| DrivesGetDrivesApi | ListAllDrives | Get /v1.0/drives | Get all available drives |
| DrivesGetDrivesApi | ListAllDrivesBeta | Get /v1beta1/drives | Alias for '/v1.0/drives', the difference is that grantedtoV2 is used and roles contain unified roles instead of cs3 roles |
| DrivesPermissionsApi | CreateLink | Post /v1beta1/drives/{drive-id}/items/{item-id}/createLink | Create a sharing link for a DriveItem |
| DrivesPermissionsApi | DeletePermission | Delete /v1beta1/drives/{drive-id}/items/{item-id}/permissions/{perm-id} | Remove access to a DriveItem |
| DrivesPermissionsApi | GetPermission | Get /v1beta1/drives/{drive-id}/items/{item-id}/permissions/{perm-id} | Get sharing permission for a file or folder |
| DrivesPermissionsApi | Invite | Post /v1beta1/drives/{drive-id}/items/{item-id}/invite | Send a sharing invitation |
| DrivesPermissionsApi | ListPermissions | Get /v1beta1/drives/{drive-id}/items/{item-id}/permissions | List the effective sharing permissions on a driveItem. |
| DrivesPermissionsApi | SetPermissionPassword | Post /v1beta1/drives/{drive-id}/items/{item-id}/permissions/{perm-id}/setPassword | Set sharing link password |
| DrivesPermissionsApi | UpdatePermission | Patch /v1beta1/drives/{drive-id}/items/{item-id}/permissions/{perm-id} | Update sharing permission |
| DrivesRootApi | CreateDriveItem | Post /v1beta1/drives/{drive-id}/root/children | Create a drive item |
| DrivesRootApi | CreateLinkSpaceRoot | Post /v1beta1/drives/{drive-id}/root/createLink | Create a sharing link for the root item of a Drive |
| DrivesRootApi | DeletePermissionSpaceRoot | Delete /v1beta1/drives/{drive-id}/root/permissions/{perm-id} | Remove access to a Drive |
| DrivesRootApi | GetPermissionSpaceRoot | Get /v1beta1/drives/{drive-id}/root/permissions/{perm-id} | Get a single sharing permission for the root item of a drive |
| DrivesRootApi | GetRoot | Get /v1.0/drives/{drive-id}/root | Get root from arbitrary space |
| DrivesRootApi | InviteSpaceRoot | Post /v1beta1/drives/{drive-id}/root/invite | Send a sharing invitation |
| DrivesRootApi | ListPermissionsSpaceRoot | Get /v1beta1/drives/{drive-id}/root/permissions | List the effective permissions on the root item of a drive. |
| DrivesRootApi | SetPermissionPasswordSpaceRoot | Post /v1beta1/drives/{drive-id}/root/permissions/{perm-id}/setPassword | Set sharing link password for the root item of a drive |
| DrivesRootApi | UpdatePermissionSpaceRoot | Patch /v1beta1/drives/{drive-id}/root/permissions/{perm-id} | Update sharing permission |
| EducationClassApi | AddUserToClass | Post /v1.0/education/classes/{class-id}/members/$ref | Assign a user to a class |
| EducationClassApi | CreateClass | Post /v1.0/education/classes | Add new education class |
| EducationClassApi | DeleteClass | Delete /v1.0/education/classes/{class-id} | Delete education class |
| EducationClassApi | DeleteUserFromClass | Delete /v1.0/education/classes/{class-id}/members/{user-id}/$ref | Unassign user from a class |
| EducationClassApi | GetClass | Get /v1.0/education/classes/{class-id} | Get class by key |
| EducationClassApi | ListClassMembers | Get /v1.0/education/classes/{class-id}/members | Get the educationClass resources owned by an educationSchool |
| EducationClassApi | ListClasses | Get /v1.0/education/classes | list education classes |
| EducationClassApi | UpdateClass | Patch /v1.0/education/classes/{class-id} | Update properties of a education class |
| EducationClassTeachersApi | AddTeacherToClass | Post /v1.0/education/classes/{class-id}/teachers/$ref | Assign a teacher to a class |
| EducationClassTeachersApi | DeleteTeacherFromClass | Delete /v1.0/education/classes/{class-id}/teachers/{user-id}/$ref | Unassign user as teacher of a class |
| EducationClassTeachersApi | GetTeachers | Get /v1.0/education/classes/{class-id}/teachers | Get the teachers for a class |
| EducationSchoolApi | AddClassToSchool | Post /v1.0/education/schools/{school-id}/classes/$ref | Assign a class to a school |
| EducationSchoolApi | AddUserToSchool | Post /v1.0/education/schools/{school-id}/users/$ref | Assign a user to a school |
| EducationSchoolApi | CreateSchool | Post /v1.0/education/schools | Add new school |
| EducationSchoolApi | DeleteClassFromSchool | Delete /v1.0/education/schools/{school-id}/classes/{class-id}/$ref | Unassign class from a school |
| EducationSchoolApi | DeleteSchool | Delete /v1.0/education/schools/{school-id} | Delete school |
| EducationSchoolApi | DeleteUserFromSchool | Delete /v1.0/education/schools/{school-id}/users/{user-id}/$ref | Unassign user from a school |
| EducationSchoolApi | GetSchool | Get /v1.0/education/schools/{school-id} | Get the properties of a specific school |
| EducationSchoolApi | ListSchoolClasses | Get /v1.0/education/schools/{school-id}/classes | Get the educationClass resources owned by an educationSchool |
| EducationSchoolApi | ListSchoolUsers | Get /v1.0/education/schools/{school-id}/users | Get the educationUser resources associated with an educationSchool |
| EducationSchoolApi | ListSchools | Get /v1.0/education/schools | Get a list of schools and their properties |
| EducationSchoolApi | UpdateSchool | Patch /v1.0/education/schools/{school-id} | Update properties of a school |
| EducationUserApi | CreateEducationUser | Post /v1.0/education/users | Add new education user |
| EducationUserApi | DeleteEducationUser | Delete /v1.0/education/users/{user-id} | Delete educationUser |
| EducationUserApi | GetEducationUser | Get /v1.0/education/users/{user-id} | Get properties of educationUser |
| EducationUserApi | ListEducationUsers | Get /v1.0/education/users | Get entities from education users |
| EducationUserApi | UpdateEducationUser | Patch /v1.0/education/users/{user-id} | Update properties of educationUser |
| GroupApi | AddMember | Post /v1.0/groups/{group-id}/members/$ref | Add a member to a group |
| GroupApi | DeleteGroup | Delete /v1.0/groups/{group-id} | Delete entity from groups |
| GroupApi | DeleteMember | Delete /v1.0/groups/{group-id}/members/{directory-object-id}/$ref | Delete member from a group |
| GroupApi | GetGroup | Get /v1.0/groups/{group-id} | Get entity from groups by key |
| GroupApi | ListMembers | Get /v1.0/groups/{group-id}/members | Get a list of the group's direct members |
| GroupApi | UpdateGroup | Patch /v1.0/groups/{group-id} | Update entity in groups |
| GroupsApi | CreateGroup | Post /v1.0/groups | Add new entity to groups |
| GroupsApi | ListGroups | Get /v1.0/groups | Get entities from groups |
| MeChangepasswordApi | ChangeOwnPassword | Post /v1.0/me/changePassword | Change your own password |
| MeDriveApi | GetHome | Get /v1.0/me/drive | Get personal space for user |
| MeDriveApi | ListSharedByMe | Get /v1beta1/me/drive/sharedByMe | Get a list of driveItem objects shared by the current user. |
| MeDriveApi | ListSharedWithMe | Get /v1beta1/me/drive/sharedWithMe | Get a list of driveItem objects shared with the owner of a drive. |
| MeDriveRootApi | HomeGetRoot | Get /v1.0/me/drive/root | Get root from personal space |
| MeDriveRootChildrenApi | HomeGetChildren | Get /v1.0/me/drive/root/children | Get children from drive |
| MeDrivesApi | ListMyDrives | Get /v1.0/me/drives | Get all drives where the current user is a regular member of |
| MeDrivesApi | ListMyDrivesBeta | Get /v1beta1/me/drives | Alias for '/v1.0/drives', the difference is that grantedtoV2 is used and roles contain unified roles instead of cs3 roles |
| MeUserApi | GetOwnUser | Get /v1.0/me | Get current user |
| MeUserApi | UpdateOwnUser | Patch /v1.0/me | Update the current user |
| RoleManagementApi | GetPermissionRoleDefinition | Get /v1beta1/roleManagement/permissions/roleDefinitions/{role-id} | Get unifiedRoleDefinition |
| RoleManagementApi | ListPermissionRoleDefinitions | Get /v1beta1/roleManagement/permissions/roleDefinitions | List roleDefinitions |
| TagsApi | AssignTags | Put /v1.0/extensions/org.libregraph/tags | Assign tags to a resource |
| TagsApi | GetTags | Get /v1.0/extensions/org.libregraph/tags | Get all known tags |
| TagsApi | UnassignTags | Delete /v1.0/extensions/org.libregraph/tags | Unassign tags from a resource |
| UserApi | DeleteUser | Delete /v1.0/users/{user-id} | Delete entity from users |
| UserApi | ExportPersonalData | Post /v1.0/users/{user-id}/exportPersonalData | export personal data of a user |
| UserApi | GetUser | Get /v1.0/users/{user-id} | Get entity from users by key |
| UserApi | UpdateUser | Patch /v1.0/users/{user-id} | Update entity in users |
| UserAppRoleAssignmentApi | UserCreateAppRoleAssignments | Post /v1.0/users/{user-id}/appRoleAssignments | Grant an appRoleAssignment to a user |
| UserAppRoleAssignmentApi | UserDeleteAppRoleAssignments | Delete /v1.0/users/{user-id}/appRoleAssignments/{appRoleAssignment-id} | Delete the appRoleAssignment from a user |
| UserAppRoleAssignmentApi | UserListAppRoleAssignments | Get /v1.0/users/{user-id}/appRoleAssignments | Get appRoleAssignments from a user |
| UsersApi | CreateUser | Post /v1.0/users | Add new entity to users |
| UsersApi | ListUsers | Get /v1.0/users | Get entities from users |
- Activity
- ActivityTemplate
- ActivityTimes
- AppRole
- AppRoleAssignment
- Application
- Audio
- ClassMemberReference
- ClassReference
- ClassTeacherReference
- CollectionOfActivities
- CollectionOfAppRoleAssignments
- CollectionOfApplications
- CollectionOfClass
- CollectionOfDriveItems
- CollectionOfDriveItems1
- CollectionOfDrives
- CollectionOfDrives1
- CollectionOfEducationClass
- CollectionOfEducationUser
- CollectionOfGroup
- CollectionOfPermissions
- CollectionOfPermissionsWithAllowedValues
- CollectionOfSchools
- CollectionOfTags
- CollectionOfUser
- CollectionOfUsers
- Deleted
- Drive
- DriveItem
- DriveItemCreateLink
- DriveItemInvite
- DriveRecipient
- DriveUpdate
- EducationClass
- EducationSchool
- EducationUser
- EducationUserReference
- ExportPersonalDataRequest
- FileSystemInfo
- Folder
- FolderView
- GeoCoordinates
- Group
- Hashes
- Identity
- IdentitySet
- Image
- ItemReference
- MemberReference
- ObjectIdentity
- OdataError
- OdataErrorDetail
- OdataErrorMain
- OpenGraphFile
- PasswordChange
- PasswordProfile
- Permission
- Photo
- Quota
- RemoteItem
- SharePointIdentitySet
- SharingInvitation
- SharingLink
- SharingLinkPassword
- SharingLinkType
- SignInActivity
- SpecialFolder
- TagAssignment
- TagUnassignment
- Thumbnail
- ThumbnailSet
- Trash
- UnifiedRoleDefinition
- UnifiedRolePermission
- User
- UserUpdate
- Video
Authentication schemes defined for the API:
- Type: HTTP Bearer token authentication
Example
auth := context.WithValue(context.Background(), libregraph.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)- Type: HTTP basic authentication
Example
auth := context.WithValue(context.Background(), libregraph.ContextBasicAuth, libregraph.BasicAuth{
UserName: "username",
Password: "password",
})
r, err := client.Service.Operation(auth, args)Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBoolPtrIntPtrInt32PtrInt64PtrFloatPtrFloat32PtrFloat64PtrStringPtrTime