从c#应用程序中调用斜杠数据库rest API

本文关键字:数据库 rest API 调用 应用程序 | 更新日期: 2023-09-27 18:14:53

我们已经暴露了我们的sql server数据库背后的slashdb(slashdb.com)。在他们的站点中,我们能够创建查询并从他们生成的url中获取数据。但不能像c#应用程序那样从外部访问。

现在我们将在c#应用程序中使用这些url并在我们的网页中显示数据。我知道如何在c#中创建基于rest的调用。但是我被困在发送身份验证信息与slashdb rest api调用从我的c#。抛出403 http错误。

请让我知道如何从c#应用程序调用斜杠数据库rest调用。

谢谢。

从c#应用程序中调用斜杠数据库rest API

HTTP 403确实表示凭据缺失或不正确,或者用户未被授权表或查询资源。

首先,确保您将用于向SlashDB发送请求的用户名已被分配给查询的Execute权限。为此,转到Configuration->Queries,并打开查询定义。在执行字段中键入用户名。可以使用逗号分隔多个用户名。顺便说一句,用户public不需要凭据,所以如果你的资源可以公开可用,只需在Execute字段中添加public即可。

对于非公共用户,您需要在HTTP请求中提供这些凭据。

SlashDB允许两种方式发送凭据:

  1. 使用BasicAuthentication的用户名/密码
  2. <
  3. API键/gh>

广告。1用授权头和用户名:密码的二进制值构造HTTP请求。使用用户名和密码调用rest api - how to

广告。2要使用API密钥,首先为SlashDB用户分配一个密钥(字母数字字符串),然后在请求中提供它。

要做到这一点,转到配置->用户,并打开用户的配置对话框。向下滚动到底部的API Authentication部分,并将密钥粘贴到提供的字段中。有关灵感,请参阅CodeIngniter或http://randomkeygen.com/上的WEP256密钥。不要使用包含":"的字符串,因为它用于将键拆分为app-key和api-key。现在只使用一个键。

发送您的密钥与您的请求作为头或在URL查询字符串。默认情况下,参数名为"apikey":

选项1:In header

(HttpWebRequest)WebRequest.Create(@"https://slashdb.yourdomain.com/db/Northwind/Customers/CustomerID/ALFKI.json");
req.Headers.Add("apikey", "12345678");
选项2:In URL

(HttpWebRequest)WebRequest.Create(@"https://slashdb.yourdomain.com/db/Northwind/Customers/CustomerID/ALFKI.json?apikey=12345678");