我有一个单页面的Web应用程序,它使用Google Apps脚本执行API来调用返回所需数据的函数。我的项目基于quick start sample code provided by Google。
这需要使用OAuth,我正在通过使用the client JavaScript library provided by Google的函数来实现这一点。
第一次要求用户验证以下函数时,immediate: false
使用了
gapi.auth.authorize({client_id: CLIENT_ID, scope: SCOPES, immediate: false}, handler);
后续API请求还必须提供身份验证令牌,因此我使用immediate: true
调用相同的函数:
gapi.auth.authorize({'client_id': CLIENT_ID, 'scope': SCOPES, 'immediate': true}, handler);
每次调用gapi.auth.authorize
时,都会在页面中添加一个新的IFRAME
,似乎存储了身份验证操作/令牌的结果等。
所以,是的,一切正常,但我认为必须有更好的方法来做到这一点。
在初始身份验证之后,是否有另一种方法可以进行后续API调用,并且不需要使用gapi.auth.authorize
并向页面添加另一个IFRAME
?
根据谷歌的说法:
备注
在初始用户授权之后,使用immediate:true模式调用gapi.auth.authorize将获得一个身份验证令牌而无需用户交互。