将 DialogFlow Rest API 与 API KEY 结合使用

Lor*_*chi 6 rest dialogflow-es

我正在尝试将DialogFlow REST API与 api 密钥身份验证方法结合使用。例如

https://dialogflow.googleapis.com/v2/projects/projectId/agent?key=[YOUR_API_KEY]
Run Code Online (Sandbox Code Playgroud)

但它不起作用。这是结果

{“error”:{“code”:401,“message”:“请求缺少所需的身份验证凭据。需要 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。请参阅https://developers.google.com/identity /sign-in/web/devconsole-project .", "status": "未经身份验证" } }

小智 0

请使用 Asp.Net Core Web API 技术找到解决方案:-

第 1 步:安装 Nuget 包,提及名称“Google.Apis”和“Google.Apis.Dialogflow.v2”

步骤 2:使用服务帐户在 json 文件中生成凭证

第 3 步:使用此代码通过 Google 服务帐户生成令牌。找到下面的代码

  var fileName = path + "Keys\\client_secret_file.json";

                var combinePath = Path.Combine(fileName);

                var credentials = GoogleCredential.FromFile(combinePath);
                var scopedCredentials = credentials.CreateScoped(DialogflowService.Scope.Dialogflow);
               var _oAuthToken = scopedCredentials.UnderlyingCredential.GetAccessTokenForRequestAsync().Result;
Run Code Online (Sandbox Code Playgroud)