Я локально запускаю проект, использующий диалог. Он пытается создать сеанс, подобный следующему:
try (SessionsClient sessionsClient = SessionsClient.create()) {
// Performs the detect intent request
DetectIntentResponse response = sessionsClient.detectIntent(session, queryInput);
Однако, когда он добирается до вызова deteIntent, я получаю эту ошибку:
PERMISSION_DENIED: Your application has authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell which are not supported by the dialogflow.googleapis.com.
Я озадачен этим - я настроив env GOOGLE_APPLICATION_CREDENTIALS следующим образом -
export GOOGLE_APPLICATION_CREDENTIALS="$HOME/project-name-623-974376412c16.json"
Я создал учетную запись службы в разделе служебной учетной записи проекта в консоли gcp.
GOOGLE_APPLICATION_CREDENTIALS указывает на файл json с учетные данные учетной записи службы. И учетная запись службы устанавливается в качестве активной учетной записи и связана с моим проектом потока диалогов. Спасибо за любую помощь!