def list_resources(
        self,
        folder_id: Optional[str] = None,
        file_ids: Optional[List[str]] = None,
        folder_path: Optional[str] = None,
        file_paths: Optional[List[str]] = None,
        mime_types: Optional[List[str]] = None,
        recursive: bool = True,
        userprincipalname: Optional[str] = None,
    ) -> List[str]:
        """
        List resources from the folder id / file ids, if both are not provided list from the root.

        Args:
            folder_id (str, optional): folder id of the folder in OneDrive.
            file_ids (List[str], optional): file ids of the files in OneDrive.
            folder_path (str, optional): The relative path of the OneDrive folder to download. If provided, files within the folder are downloaded.
            file_paths (List[str], optional): List of specific file paths to download.
            mime_types: the mimeTypes you want to allow e.g.: "application/pdf", default is none, which loads all files found
            recursive: boolean value to traverse and read subfolder, default is True
            userprincipalname: str value indicating the userprincipalname (normally organization-provided email) whose OneDrive will be accessed. Required for App authentication scenarios.

        Returns:
            List[str]: A list of resources.

        """
        try:
            payloads = self._get_downloaded_files_metadata(
                folder_id=folder_id,
                file_ids=file_ids,
                folder_path=folder_path,
                file_paths=file_paths,
                mime_types=mime_types,
                recursive=recursive,
                userprincipalname=userprincipalname,
            )
            return [payload.resource_info["file_path"] for payload in payloads]
        except Exception as e:
            logger.error(
                f"An error occurred while listing resources: {e}", exc_info=True
            )
            raise

        List resources from the folder id / file ids, if both are not provided list from the root.

        Args:
            folder_id (str, optional): folder id of the folder in OneDrive.
            file_ids (List[str], optional): file ids of the files in OneDrive.
            folder_path (str, optional): The relative path of the OneDrive folder to download. If provided, files within the folder are downloaded.
            file_paths (List[str], optional): List of specific file paths to download.
            mime_types: the mimeTypes you want to allow e.g.: "application/pdf", default is none, which loads all files found
            recursive: boolean value to traverse and read subfolder, default is True
            userprincipalname: str value indicating the userprincipalname (normally organization-provided email) whose OneDrive will be accessed. Required for App authentication scenarios.

        Returns:
            List[str]: A list of resources.

        
llama-index-integrations/readers/llama-index-readers-microsoft-onedrive/llama_index/readers/microsoft_onedrive/base.py