Я нашел 2 разных способа:
Первый: просто напишите простой NodeJS App Engine Service (или java или python, поскольку Document AI в настоящее время предлагает клиентские библиотеки для этих 3 языков), который действует как прокси между службой .netcore и API-интерфейсом Document AI.
Второй: создайте ключ Api в проекте CGP и возьмите его как переменную среды в службе .netcore. Затем просто отправьте и отправьте http-сообщение на URL-адрес, добавив ключ api в качестве параметра запроса, например:
https://eu-documentai.googleapis.com/v1beta2/projects/{YOUR_PROJECT_ID}/locations/eu/documents:process?key={API_KEY}
И все.
Что касается второго, я бы предпочел не иметь использовать ApiKey. Я хотел бы знать, как клиентские библиотеки, такие как nodejs, могут отправлять запрос в DocumentAI api без ApiKey. В моей первой попытке я ожидал, что использование HttpClient из учетных данных учетной записи службы GCP поможет, но я получил ошибку 403, указывающую на отсутствие ключа api. Я сделал следующее:
var cred = GoogleCredential.GetApplicationDefault()
var credential = cred.UnderlyingCredential as ServiceAccountCredential;
var uri = new Uri($"https://eu-documentai.googleapis.com/v1beta2/projects/{YOUR_PROJECT_ID}/locations/eu/documents:process;
var responseMessage = await credential.HttpClient.PostAsJsonAsync(uri, config);
var response = await responseMessage.Content.ReadAsStringAsync();
Как уже было сказано, это вызывает ошибку 403 с жалобой на отсутствие ApiKey. При использовании ApiKey вы можете использовать обычный HttpClient, использование HttpClient, созданного для учетных данных Google, не требуется