-1

因此,我正在尝试将 Cardano 区块链数据(例如地址余额、质押金额、奖励等)导入 Google 表格。我发现了这个名为 Blockfrost.io 的项目,它是一个用于访问 Cardano 区块链信息并将其导入应用程序等的 API。

我想我可以将它与 Google 表格一起使用。问题是我不知道如何进行身份验证。我已经搜索了所有文档,但我不清楚。如果您正在构建应用程序或使用终端,这似乎是可能的。

但我只想以最简单的方式进行身份验证,比如在浏览器地址栏中,这样可以很简单地获取包含我需要的信息的 JSON 并将信息导入 Google 表格。

这是它提到身份验证的地方: https ://docs.blockfrost.io/#section/Authentication

我已经有一个 API 密钥可以访问。但是我如何进行身份验证?

因此,如果我想检查区块链指标(mainnet1234567890 是一个虚拟密钥,我不会在这里使用我的):

https://cardano-mainnet.blockfrost.io/api/v0/metrics/project_id:mainnet1234567890

JSON 仍将输出:

status_code 403
error   "Forbidden"
message "Missing project token. Please include project_id in your request."

在浏览器地址栏上是否有正确的身份验证方法?

4

1 回答 1

1

目前尚不清楚您使用的是哪个 BlockFrost API Go JavaScript 等...

API 密钥作为请求对象的标头进入。我手动尝试连接到服务,发现请求是我在 C# 中必须做的......

var aWR = System.Net.WebRequest.Create(url);
aWR.Method = "GET";
aWR.Headers.Add("project_id", "mainnetTheRestOfMyKeyIsHidden");
var webResponse = aWR.GetResponse();
var webStream = webResponse.GetResponseStream();
var reader = new StreamReader(webStream);
var data = reader.ReadToEnd(); 

后来我意识到我想使用他们的 API,因为他们实现了速率限制器,我宁愿使用而不是构建......我在 c# 中将以下内容与 BlockFrost API 一起使用

const string apiKey = "mainnetPutYourKeyHere";
const string network = "mainnet";
// your key is set during the construction of the provider.
ServiceProvider provider = new ServiceCollection().AddBlockfrost(network, apiKey).BuildServiceProvider();
// from there individual services are created
 var AddressService = provider.GetRequiredService<IAddressesService>();
// The call to get the data looked like
AddressTransactionsContentResponseCollection TXR = await AddressService.GetTransactionsAsync(sAddress, sHeightFrom, sHeightTo, 100, iAddressPage, ESortOrder.Desc, new System.Threading.CancellationToken());
// etc. your gonna need to set the bounds above in terms of block height
于 2022-01-31T22:27:17.643 回答