我正在寻找有关如何利用DialogFlow的batchUpdate以及如何利用batchUpdateResponse在完成后显示实际响应的基本示例。
已找到DialogFlow V1或V2的 no 示例(目前,这将是有帮助的),以下是我已设法设置的所有内容-寻找要添加的缺失参数:< / p>
$intentsClient->batchUpdateIntents($formattedParent, $languageCode, $test_3);
当前使用PHP https://github.com/googleapis/google-cloud-php/tree/83ae284c025f6e93b9ce835b987932c425b5a9de/Dialogflow,但此处使用任何语言都可以。
答案 0 :(得分:1)
最终通过使用https://developers.google.com/apis-explorer/和适用于PHP的Google客户端库(https://github.com/googleapis/google-api-php-client)来解决这个问题。
下面是一个通过PHP一次更新两个意图的文本的基本示例。希望这对将来的人有所帮助,对于普遍缺乏使用DialogFlow的API V2(或什至V1)的有用文档和/或示例感到有些惊讶。通过使用此功能而不是使用仪表板来训练您的机器人,可以完成很多很棒的事情!
// Global variable pointing to the .json file downloaded with private key from DialogFlow
putenv('GOOGLE_APPLICATION_CREDENTIALS=directory-of-file/google-service-acount-key.json');
// Setup Google Client
require __DIR__.'/vendor/autoload.php';
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope('https://www.googleapis.com/auth/cloud-platform');
$httpClient = $client->authorize();
// Setup array to update intent (minified)
$update_intent = array('intentBatchInline'=>array('intents'=>array(
0=>array('name'=>'projects/YOUR-PROJECT-NAME/agent/intents/FIRST-INTENT-ID','displayName'=>'FIRST-INTENT-NAME','messages'=>array(0=>array('text'=>array('text'=>array(0=>'FIRST-INTENT-TEXT-TO-UPDATE',),),),),),
1=>array('name'=>'projects/YOUR-PROJECT-NAME/agent/intents/SECOND-INTENT-ID','displayName'=>'SECOND-INTENT-NAME','messages'=>array(0=>array('text'=>array('text'=>array(0=>'SECOND-INTENT-TEXT-TO-UPDATE',),),),),),),),
);
// Post to DialogFlow API
$response = $httpClient->post('https://dialogflow.googleapis.com/v2/projects/PROJECT-NAME-HERE/agent/intents:batchUpdate', [
GuzzleHttp\RequestOptions::JSON => $test_batch_intent_1
]);
// Print out response for troubleshooting
print_r($response->getBody()->getContents());
echo "<br /><br />Here's to getting past DialogFlow API's hurdles! :)";
exit;
答案 1 :(得分:0)
这类似于我的回答。在这里我给出了完整的例子。请检查一下。 Stack Overflow answer.
这是基于NodeJ的。正如您所说的,语言无关紧要。
并查看本文档中的各种示例。该文档甚至涵盖了batchUpdate
功能。
请检查以下内容: