### Apache Airflow version

Other Airflow 2 version (please specify below)

### What happened

Airflow version: 2.5.3
Description: While using BigQueryCreateExternalTableOperator, when we to create external table on top of parquet files located in GCS, airflow shows below error:
google.api_core.exceptions.BadRequest: 400 POST ... failed. CsvOptions can only be specified if storage format is CSV.

No csvOptions are mentioned while passing the source_format as Parquet. There seems to be an issue with bigquery.py hook.

### What you think should happen instead

_No response_

### How to reproduce

While using BigQueryCreateExternalTableOperator, try to create external table on top of parquet files located in GCS. Sample usage:
`create_external_table = BigQueryCreateExternalTableOperator(
    task_id="create_external_table",
    destination_project_dataset_table="table_name",
    bucket=GCS_BUCKET_NAME,
    source_objects=[<list of URIs of parquet files>],
    source_format="PARQUET",
    autodetect=True,
    gcp_conn_id="gcp_conn_id",
    google_cloud_storage_conn_id="test_conn_id",
)`

### Operating System

-

### Versions of Apache Airflow Providers

_No response_

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] 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)

If provided all other parameters are ignored. External schema from object will be resolved.
    :param schema_object: If set, a GCS object path pointing to a .json file that
        contains the schema for the table. (templated)
    :param gcs_schema_bucket: GCS bucket name where the schema JSON is stored (templated).
        The default value is self.bucket.
    :param source_format: File format of the data.
    :param autodetect: Try to detect schema and format options automatically.
        The schema_fields and schema_object options will be honored when specified explicitly.
        https://cloud.google.com/bigquery/docs/schema-detect#schema_auto-detection_for_external_data_sources
    :param compression: [Optional] The compression type of the data source.
        Possible values include GZIP and NONE.
        The default value is NONE.
        This setting is ignored for Google Cloud Bigtable,
        Google Cloud Datastore backups and Avro formats.
    :param skip_leading_rows: Number of rows to skip when loading from a CSV.
    :param field_delimiter: The delimiter to use for the CSV.
    :param max_bad_records: The maximum number of bad records that BigQuery can
        ignore when running the job.
    :param quote_character: The value that is used to quote data sections in a CSV file.
    :param allow_quoted_newlines: Whether to allow quoted newlines (true) or not (false).
    :param allow_jagged_rows: Accept rows that are missing trailing optional columns.
        The missing values are treated as nulls. If false, records with missing trailing
        columns are treated as bad records, and if there are too many bad records, an
        invalid error is returned in the job result. Only applicable to CSV, ignored
        for other formats.
    :param gcp_conn_id: (Optional) The connection ID used to connect to Google Cloud and
        interact with the Bigquery service.
    :param google_cloud_storage_conn_id: (Optional) The connection ID used to connect to Google Cloud
        and interact with the Google Cloud Storage service.
    :param src_fmt_configs: configure optional fields specific to the source format