I'm trying to use nxc.get_group_folders()
in pyspark to get all group_folders on Nextcloud. But every time I try to use a function from the class GroupFolder(Req, Nextcloud)
, an error occurs.
this is the upcoming error message:
raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
I used the function like this:
nxc.get_group_folders()
I'm guessing, that the API_URL
is wrong, but in all documentations from Nextcloud API, they use the same API_URL
as I do.
My class looks like this:
class NextCloud:
def __init__(self, endpoint, user, passwd, js=False):
self.tojs = "?format=json" if js else ""
self.endpoint = endpoint
self.user_url = endpoint + "/ocs/v1.php/cloud/users"
self.group_url = endpoint + "/ocs/v1.php/cloud/groups"
self.share_url = endpoint + "/ocs/v2.php/apps/files_sharing/api/v1"
self.apps_url = endpoint + "/ocs/v1.php/cloud/apps"
self.group_folders_url = endpoint + "/ocs/v2.php/apps/groupfolders/folders"
self.h_get = {"OCS-APIRequest": "true"}
self.h_post = {"OCS-APIRequest": "true", "Content-Type": "application/x-www-form-urlencoded"}
self.auth_pk = (user, passwd)
class Req(NextCloud):
# WrapRequests
def rtn(self, resp):
if self.tojs: # JSON
return resp.json()
else: # XML
return resp.text
def get(self, ur):
res = requests.get(ur, auth=self.auth_pk, headers=self.h_get)
return self.rtn(res)
def post(self, ur, dt=None):
if dt == None:
res = requests.post(ur, auth=self.auth_pk, headers=self.h_post)
else:
res = requests.post(ur, auth=self.auth_pk, data=dt, headers=self.h_post)
return self.rtn(res)
def put(self, ur, dt=None):
if dt == None:
res = requests.put(ur, auth=self.auth_pk, headers=self.h_post)
else:
res = requests.put(ur, auth=self.auth_pk, data=dt, headers=self.h_post)
return self.rtn(res)
def delete(self, ur, dt=None):
if dt == None:
res = requests.delete(ur, auth=self.auth_pk, headers=self.h_post)
else:
res = requests.delete(ur, auth=self.auth_pk, data=dt, headers=self.h_post)
return self.rtn(res)
class GroupFolders(Req, NextCloud):
API_URL = "/apps/groupfolders/folders"
SUCCESS_CODE = 100
# /ocs/v2.php/apps/groupfolders/folders
def get_group_folders(self):
return self.get(self.group_folders_url + self.tojs)
def create_group_folder(self, mountpoint):
return self.post(self.group_folders_url + self.tojs, {"mountpoint": mountpoint})
etc.
Mabye someone uses this class GroupFolders and can tell me if is looks different than mine or someone had this error message as well and can help me fix it.