通过CAI通过OAuth 2.0对Google API进行身份验证

2020-08-14 21:57发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在创建一个需要访问特...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在创建一个需要访问特定Google日历帐户的机器人(而不是该机器人每个最终用户的帐户)。

我已经能够使用Google提供的API密钥成功实现GET操作(例如,读取日历中的公共活动列表)。

但是,到目前为止,我无法成功执行POST操作(例如创建新事件)。 对于这些,需要通过OAuth2进行认证。

  • 我已经在Google Developer Console中设置了应用程序,并激活了相应的Google Calendar API。
  • 我已经创建了OAuth 2.0凭据,该凭据为我提供了一个客户端ID和一个客户端密码。
  • 我在Google Developer Console的OAuth 2.0凭据的配置中将" https://api.cai.tools.sap"作为重定向URL,但是我不确定这是否正确。
  • 我已经在我的SAP CAI机器人中创建了一个身份验证模板,并将其设置为" OAuth2身份验证"模式,并提供了客户端ID和客户端密钥以及授权URL https://accounts.google.com/o/oauth2/v2/auth

但是,这不起作用。 尝试此技能并激活调试模式时,我得到:

警告:在

上检测到API错误
"调用API时出错" 

缺少哪些步骤或哪些设置不正确才能使其正常工作?

非常感谢和问候

帕特里克

1条回答
95年老男孩
2020-08-14 22:17

亲爱的 Patrick Weyers

感谢您发布问题。 让我尝试澄清您的询问的各个方面。

基本上,您需要在OAuth2规范中区分不同的风味,即所谓的"流程"。 这些是获取访问令牌的不同方法,每种方法可满足不同的要求和方案。 在SAP对话式AI中,OAuth2更具体地表示OAuth2客户端凭据流,该流可在两个服务器之间进行技术通信。 (了解更多)

与Google提供的大多数API不同的是,OAuth2授权代码流使用OAuth2授权代码流,该代码可帮助应用程序在用户界面上使用重定向流批准后根据用户帐户获得一些权限。 在此处查看完整的解释

比较这两种流,您会发现它们需要不同的先决条件和编排,才能从受保护资源的授权服务器实际获取令牌。 要使用SAP Conversational AI的OAuth2功能,请确保您的外部服务支持客户端凭据流。

我希望这种解释会有所帮助。

此致

托马斯

一周热门 更多>