我有一个自定义按钮,用于查询并可能更新 Quickbase 中的管理应用程序,当前用户不需要访问该应用程序。
我有 JS 代码在用户单击按钮时执行以检查管理应用程序等...
我检查应用程序的 API 调用具有适当的 apptoken 和 usertoken。但是,浏览器仍然缓存了当前用户的会话,因此 API 调用错误并显示拒绝访问错误消息。
我正在寻找一种方法来制作隐藏的隐身窗口,然后执行此代码,或者一种有问题地强制用户令牌取代当前用户访问/权限的方法。
我已经看到 chrome 扩展可以在哪里使用 chrome.windows.create... 但我没有扩展经验,理想情况下,我不想只为这个功能提供扩展,并且可能必须安装它在每个用户的 PC 上运行...
这是我当前代码的片段...如果有人对管理应用程序具有权限,则此代码确实有效...但此代码驻留在不同的应用程序中:
PreProcURL = "https://<domain>.quickbase.com/db/<dbid>?a=API_DoQuery&apptoken=<>&usertoken=<>&query={'3'.EX.'1'}";
PreProcQuery.open('GET', PreProcURL, 'async');
PreProcQuery.send();
PreProcQuery.onload = function(){
console.log(PreProcQuery.responseXML);
RunBit = (PreProcQuery.responseXML.documentElement.getElementsByTagName("runbit"))[0].innerHTML;
SupportData = (PreProcQuery.responseXML.documentElement.getElementsByTagName("supportdata"))[0].innerHTML;
if(RunBit != "1"){
$.get("https://<domain>.quickbase.com/db/<dbid>?a=API_EditRecord&rid=1&_fid_6=1&_fid_7="+rid+"&apptoken=<>&usertoken=<>");
}else{
if(SupportData == rid){
alert("This PreProc File is already in progress... please wait.");
}else{
alert("Another PreProc is already in progress... please wait.");
}
}
};
在此先感谢您提供任何帮助。