我正在尝试从网页调用Dialogflow应用。 V1 API似乎不支持CORS,但是detectIntent API reference page上的“尝试此API”框显示了一个Javascript示例,其中包含<script>
和<button>
DOM元素,因此我假设V2支持CORS。
我对OAuth 2.0身份验证有点困惑-用户是否需要登录Google帐户?
v2-auth-setup page将引导您完成创建服务帐户并保存JSON私钥文件的过程,但是我有2个问题:
云控制台“服务帐户”页面上的“权限”面板暗示该服务帐户继承了“编辑器”,“所有者”,“ Compute Engine服务代理”和其他角色-但该服务帐户不应继承任何角色,应该立即将其锁定。
这一切都意味着我需要将“ secrets.json”文件提供给公众。即使只是受限制的服务帐户,这也不对。
也许我不太了解这一点?
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: "YOUR_CLIENT_ID"});
});
...是否意味着在调用以下命令时,用户(即使他们没有Google帐户)也以“ YOUR_CLIENT_ID”身份登录,而没有任何弹出窗口/重定向?
gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/dialogflow"})
... Dialogflow控制台提供了V1客户端和开发人员访问令牌,但是我从哪里获得YOUR_CLIENT_ID?