使用DialogFlow Rest API与API KEY

6
我将使用API密钥身份验证方法来使用DialogFlow REST API。例如:
https://dialogflow.googleapis.com/v2/projects/projectId/agent?key=[YOUR_API_KEY]

但是它不起作用。这是结果:

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


1
https://chatbotslife.com/dialogflow-v2-rest-api-communication-6cf7ab66ab36 - Nikhil Savaliya
你解决了你的问题吗?我也遇到了同样的问题。 - FCLM
我使用在GCP IAM内生成的带有涉及角色(如管理员API对话流角色)的帐户服务JSON解决了这个问题。然后,我使用GoogleCredentials API生成授权Bearer令牌,然后将认证令牌传递到请求头中。希望这可以帮到你。 - Lorenzo Vannucchi
1个回答

0
请使用Asp.Net Core Web API技术找到解决方案:-
步骤1:安装Nuget Package提及名称“Google.Apis”和“Google.Apis.Dialogflow.v2”
步骤2:使用Service Accounts生成json文件中的凭据
步骤3:使用Google Service Accounts生成令牌的代码,请查看以下代码

  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;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接