所以我试图将Cardano区块链数据,如地址余额、赌注、奖励等导入谷歌表单。我发现了这个名为Blockfrost.io的项目,这是一个API,用于访问Cardano区块链信息并将其导入应用程序等。
我想我可以把它和谷歌表格一起使用。问题是我不知道如何进行身份验证。我已经搜索了所有的文档,但我不清楚。如果你正在构建应用程序或使用终端,这似乎是可能的。
但我只想以最简单的方式进行身份验证,比如在浏览器地址栏中,这样就可以简单地获得带有我需要的信息的JSON,并将信息导入Google Sheets。
这是它提到身份验证的地方: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."
是否有正确的方式在浏览器地址栏上进行身份验证?
不清楚您使用的是哪一个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
尝试使用poster并包含"project_id";以api键作为值的头-我认为它会为你澄清这个概念:在这里输入图像描述