我对 Quickbase 很陌生。
我想使用 javascript 查询快速库以获取表记录并插入其中。
我该怎么做?
非常感谢任何帮助。
为了改进 @rtpHarry 的回答,他引用的 JavaScript SDK 已经有了更好的日子。2年没更新了,在IE11下也不能用。
现在这是一个不要脸的插件,完全公开,我是这个模块的作者;
但是Node-QuickBase使用起来要容易得多,并且可以在浏览器和服务器上运行——无需更改代码。
这是一个例子:
在 Nodejs 中:
var QuickBase = require('quickbase');
var quickbase = new QuickBase({
realm: 'www',
appToken: '*****'
});
quickbase.api('API_Authenticate', {
username: '*****',
password: '*****'
}).then(function(result){
return quickbase.api('API_DoQuery', {
dbid: '*****',
clist: '3.12',
options: 'num-5'
}).then(function(result){
return result.table.records;
});
}).map(function(record){
return quickbase.api('API_EditRecord', {
dbid: '*****',
rid: record[3],
fields: [
{ fid: 12, value: record[12] }
]
});
}).then(function(){
return quickbase.api('API_DoQuery', {
dbid: '*****',
clist: '3.12',
options: 'num-5'
});
}).then(function(result){
console.log(result);
}).catch(function(err){
console.error(err);
});
在浏览器中:
<script type="text/javascript" src="quickbase.browserify.min.js"></script>
<script type="text/javascript">
var quickbase = new QuickBase({
realm: 'www',
appToken: '*****'
});
quickbase.api('API_Authenticate', {
username: '*****',
password: '*****'
}).then(function(result){
return quickbase.api('API_DoQuery', {
dbid: '*****',
clist: '3.12',
options: 'num-5'
}).then(function(result){
return result.table.records;
});
}).map(function(record){
return quickbase.api('API_EditRecord', {
dbid: '*****',
rid: record[3],
fields: [
{ fid: 12, value: record[12] }
]
});
}).then(function(){
return quickbase.api('API_DoQuery', {
dbid: '*****',
clist: '3.12',
options: 'num-5'
});
}).then(function(result){
console.log(result);
}).catch(function(err){
console.error(err);
});
</script>
在开始之前,您需要在 QuickBase 中设置一个用户。
为了让您使用 API ,您需要有一个开发者密钥。
GitHub 上提供了一个可供您使用的 JavaScript SDK 。这将使您远离 API 的详细信息。
但是,如果您尝试这样做,这不会让您在任何随机网页中使用它:
使用 QuickBaseClient.js 的 HTML 页面必须作为文件附件或文本(代码)页面托管在 QuickBase 应用程序中,因为 Web 浏览器只允许 JavaScript 代码访问 JavaScript 源自的网站。
如果您确实想这样做,那么有一些解决方法。