簡體   English   中英

無法設置 dialogFlow API

[英]Unable to set up dialogFlow API

我正在嘗試使用此快速指南在我的 Laravel 項目上設置 dialogFlow API - https://cloud.google.com/dialogflow/docs/quick/api

這是我創建的用於檢測意圖等的方法。

function detect_intent_texts($projectId, $texts, $sessionId, $languageCode = 'en-US'){
        // new session
        $filePath = base_path('dialogflow.json');

        putenv("GOOGLE_APPLICATION_CREDENTIALS=".$filePath);

        $sessionsClient = new SessionsClient();

        $session = $sessionsClient->sessionName($projectId, $sessionId ?: uniqid());
        printf('Session path: %s' . PHP_EOL, $session);

        // query for each string in array
        foreach ($texts as $text) {
            // create text input
            $textInput = new TextInput();
            $textInput->setText($text);
            $textInput->setLanguageCode($languageCode);

            // create query input
            $queryInput = new QueryInput();
            $queryInput->setText($textInput);

            // get response and relevant info
            //dd($queryInput);
            $response = $sessionsClient->detectIntent($session, $queryInput);
            $queryResult = $response->getQueryResult();
            $queryText = $queryResult->getQueryText();
            $intent = $queryResult->getIntent();
            $displayName = $intent->getDisplayName();
            $confidence = $queryResult->getIntentDetectionConfidence();
            $fulfilmentText = $queryResult->getFulfillmentText();

            // output relevant info
            print(str_repeat("=", 20) . PHP_EOL);
            printf('Query text: %s' . PHP_EOL, $queryText);
            printf('Detected intent: %s (confidence: %f)' . PHP_EOL, $displayName,
                $confidence);
            print(PHP_EOL);
            printf('Fulfilment text: %s' . PHP_EOL, $fulfilmentText);
        }

        $sessionsClient->close();
    }

當我嘗試使用此功能運行該功能時 -

$array = ['hello'];
 detect_intent_texts(env('DIALOGFLOW_PROJECT_ID'), $array, '134253474848');

我收到此錯誤-

{ "message": "IAM permission 'dialogflow.sessions.detectIntent' on 'projects\/********\/agent' denied.", "code": 7, "status": "PERMISSION_DENIED", "details": [] }

請問這里可能是什么問題?

聽起來您在配置服務帳戶時沒有正確設置角色。 請參閱身份驗證設置步驟

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM