android-Dialogflow API v2集成问题

android-Dialogflow API v2集成问题,第1张

概述我正在android上使用Dialogflowv1,但我想使用V2,因为它提供了更多功能,并且因为V1在2019年10月23日将是deprecated.但是我无法将APIV2集成到我的代码中.这是V1代码:privatevoidinitChatbot(){finalAIConfigurationconfig=newAIConfiguration("HereputClientacce

我正在android上使用Dialogflow v1,但我想使用V2,因为它提供了更多功能,并且因为V1在2019年10月23日将是deprecated.但是我无法将API V2集成到我的代码中.这是V1代码:

private voID initchatbot() {    final AIConfiguration config = new AIConfiguration("Here put ClIEnt access token",            AIConfiguration.SupportedLanguages.English,            AIConfiguration.RecognitionEngine.System);    aIDataService = new AIDataService(this, config);    customAIServiceContext = AIServiceContextBuilder.buildFromSessionID(uuID);// helps to create new session whenever app restarts    aiRequest = new AIRequest();}

这是V2代码:

private voID initV2chatbot() {        try {            inputStream stream = getResources().openRawResource(R.raw.test_agent_credentials);            GoogleCredentials credentials = GoogleCredentials.fromStream(stream);            String projectID = ((ServiceAccountCredentials)credentials).getProjectID();            SessionsSettings.Builder settingsBuilder = SessionsSettings.newBuilder();            SessionsSettings sessionsSettings = settingsBuilder.setCredentialsProvIDer(FixedCredentialsProvIDer.create(credentials)).build();            sessionsClIEnt = SessionsClIEnt.create(sessionsSettings);            session = Sessionname.of(projectID, uuID);        } catch (Exception e) {            e.printstacktrace();        }    }

当我为V2编写此代码时,出现以下错误:

error: cannot find symbol variable test_agent_credentials

我实际上不知道什么是test_agent_credentials以及为什么要使用它.谁能告诉我应该将console.cloud.Google Dialogflowİntegration密钥ID放在哪里?

这是Gradle:

apply plugin: 'com.androID.application'androID {    buildToolsversion "28.0.3"    compileSdkVersion 28    defaultConfig {        applicationID "com.tyagiabhinav.dialogflowchat"        minSdkVersion 21        targetSdkVersion 28        versionCode 1        versionname "1.0"        testInstrumentationRunner "androID.support.test.runner.AndroIDJUnitRunner"    }    repositorIEs {        mavenCentral()    }    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }    // Java V2    packagingOptions {        exclude 'meta-inf/liCENSE'        exclude 'meta-inf/DEPENDENCIES'        exclude 'meta-inf/INDEX.List'    }}dependencIEs {    implementation filetree(dir: 'libs', include: ['*.jar'])    implementation 'com.androID.support:appcompat-v7:28.0.0'    testImplementation 'junit:junit:4.12'    androIDTestImplementation 'com.androID.support.test:runner:1.0.2'    androIDTestImplementation 'com.androID.support.test.espresso:espresso-core:3.0.2'    implementation 'com.Google.APIs:Google-API-services-oauth2:v1-rev145-1.25.0'    // Dialogflow SDK dependencIEs    implementation 'ai.API:sdk:2.0.7@aar'    implementation 'ai.API:libai:1.6.12'    // Java V2    implementation 'com.Google.cloud:Google-cloud-dialogflow:0.67.0-Alpha'    // for Remote Procedure Call to avoID "No functional channel service provIDer found" error while creating SessionsClIEnt    implementation 'io.grpc:grpc-okhttp:1.15.1'}

解决方法:

R.raw.test_agent_credentials引用假定位于原始资源文件夹中的test_agent_credentials.Json文件.此JsON文件包含您在created the Dialogflow Integration service account时下载的完整凭据文件.

忽略有关使用密钥的部分.它使用gloud命令生成要在auth标头中使用的密钥.您可以通过GoogleCredentials.fromStream()调用来实现.

重要的部分来自第10步,在此之前,您保存JsON密钥文件并将其作为原始资源提供给AndroID.有关AndroID资源的信息,请参见this information,尤其是有关原始资源的部分.原始资源应放在子文件夹“ raw”的“ resource”文件夹下.您保存在此处的文件名称应与R.raw之后资源名称的一部分匹配,且不带“ Json”扩展名.

总结

以上是内存溢出为你收集整理的android-Dialogflow API v2集成问题全部内容,希望文章能够帮你解决android-Dialogflow API v2集成问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1081818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存