Credentials issue - BQ data transfer config

I would like to use the google_bigquery_data_transfer_config resource to create Google Ads BigQuery Data Transfers.

I am running into a credentials issue - running the setup from the command line would need to go through an authorisation pop-up and that’s the bit that I couldn’t solve with the service account permission.

This is the error I am receiving:
Error: Error creating Config: googleapi: Error 400: Failed to find a valid credential. The request to create a transfer config is supposed to contain an authorization code.

And this is my terraform - any help would be appreciated:

# provider - gcp
terraform {
  required_providers {
    google = {
      source = "hashicorp/google"
      version = "4.20.0"
    }
  }
}

provider "google" {
  project = var.project
  region = var.region
}

data "google_project" "gcp_project" {
}

# permissions
resource "google_project_iam_member" "permissions" {
  project = var.project
  role = "roles/iam.serviceAccountShortTermTokenMinter"
  member = "serviceAccount:service-${data.google_project.gcp_project.number}@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com"
}

# services
resource "google_project_service" "bigquerydatatransfer_googleapis_com" {
  project = var.project
  service = "bigquerydatatransfer.googleapis.com"
}

# Google Ads data transfer
resource "google_bigquery_dataset" "google_ads_dataset" {
  depends_on = [google_project_iam_member.permissions]

  dataset_id = "google_ads"
  delete_contents_on_destroy = false
  location = var.region
  project = var.project
  description = "Raw Google Ads data exported via Data Transfer"
}

resource "google_bigquery_data_transfer_config" "google_ads_transfer" {
  depends_on = [google_project_iam_member.permissions]

  display_name = "Google Ads Transfer"
  data_source_id = "adwords"
  location = var.region
  destination_dataset_id = google_bigquery_dataset.google_ads_dataset.dataset_id
  schedule = "every day at 01:00"
  params = {
    customer_id = var.customer_id
    exclude_removed_items = true
  }
}