### Apache Airflow Provider(s)

google

### Versions of Apache Airflow Providers

```
apache-airflow-providers-google: version 8.9.0
```

### Apache Airflow version

2.5.1

### Operating System

Linux -  official airflow image from docker hub apache/airflow:slim-2.5.1

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### What happened

Not sure if it's a bug or a feature.

Originally I have used `LocalFilesystemToGoogleDriveOperator` to try uploading a file into a shared Google Drive without success.
Provider didn't find a directory with a given name so it created a new one without browsing `shared drives`. Method call that doesn't allow to upload it is here:
https://github.com/apache/airflow/blob/main/airflow/providers/google/suite/hooks/drive.py#L223

### What you think should happen instead

It would be nice if there was an optional parameter to provide a `drive_id` into which user would like to upload a file. With the same directory check behaviour that already exists but extended to `shared drives`

### How to reproduce

1. Create a directory on the shared google drive
2. Fill `LocalFilesystemToGoogleDriveOperator` constructor with the arguments.
3. Execute the function

### Anything else

I am willing to submit a PR but I would need to know more details, your thoughts, expectations of the implementation to make as little iteration on it possible.

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

hook = GoogleDriveHook(
            gcp_conn_id=self.gcp_conn_id,
            delegate_to=self.delegate_to,
            impersonation_chain=self.impersonation_chain,
        )
        remote_file_ids = []
        for local_path in self.local_paths:
            self.log.info("Uploading file to Google Drive: %s", local_path)
            try:
                remote_file_id = hook.upload_file(
                    local_location=str(local_path),
                    remote_location=str(Path(self.drive_folder) / Path(local_path).name),
                    chunk_size=self.chunk_size,
                    resumable=self.resumable,
                )
                remote_file_ids.append(remote_file_id)
                if self.delete:
                    os.remove(local_path)
                    self.log.info("Deleted local file: %s", local_path)
            except FileNotFoundError:
                self.log.warning("File can't be found: %s", local_path)
            except OSError:
                self.log.warning("An OSError occurred for file: %s", local_path)
        if not self.ignore_if_missing and len(remote_file_ids) < len(self.local_paths):
            raise AirflowFailException("Some files couldn't be uploaded")
        return remote_file_ids