3

我对 API 的使用相当陌生,直到今天才接触过 Quickbase。我正在研究 Quickbase API,似乎我看到的所有示例都是用 XML 或类似的变体编写的。有没有办法用 C# 编写代码来做我在 Quickbase 网站的 API 文档上看到的相同的事情?如果您知道任何代码示例,请告诉我。

4

3 回答 3

5

有一个QuickBase C# SDK可以帮助您入门。

using System;
using Intuit.QuickBase.Client;

namespace MyProgram.QB.Interaction
{
    class MyApplication
    {
        static void Main(string[] args)
        {
            var client = QuickBase.Client.QuickBase.Login("your_QB_username", "your_QB_password");
            var application = client.Connect("your_app_dbid", "your_app_token");
            var table = application.GetTable("your_table_dbid");
            table.Query();

            foreach(var record in table.Records)
            {
               Console.WriteLine(record["your_column_heading"]);
            }
            client.Logout();
        }
    }
}

还有一个QuickBase API Wrapper示例。

于 2012-07-16T21:56:21.380 回答
2

早在 2009 年,我为 QuickBase 编写了一个 .NET API,它使平台的工作变得容易,它还支持上传和下载附件。

IQuickBaseService svc = new QuickBaseService("user", "pass", "URL", "token");
Schema schema = svc.GetSchema("DBID");
Console.WriteLine("Schema : {0}", schema.Name);
Console.WriteLine("Variables - ");
for (KeyValuePair<string, string> ent in schema.Variables.OrderBy(en => en.Key)) {
    Console.WriteLine("Var: {0} = {1}", ent.Key, ent.Value);
}
for (Query q : schema.Queries) {
    // Work with queries.
}
// schema.Children
// schema.Fields
// ...
svc.SignOut();

执行查询很简单。

QueryResult res;
res = svc.Query("tableid", 1); // Execute query number 1
res = svc.Query("tableid", "{{140.EX.'1'}}") // execute QB query text

foreach (QueryRow row in result.Rows) {
    // Do something with row, use get<type>, not all shown here.
    // row.GetBool(1);
    // row.GetInt(1);
    // row.GetLong(1);
    // row.GetFloat(1);
    // row.GetDouble(1);
    // row.GetDecimal(1);
    // row.GetString(1);
    // row.GetDate(1);
    // row.GetDateTime(1);
    // row.GetObject(1);
}
于 2013-09-25T05:13:46.010 回答
0

QuickBase SDK 代码现已移至 github https://github.com/QuickbaseAdmirer/QuickBase-C-Sharp-SDK

于 2013-04-12T05:33:04.957 回答