我正在创建一个从public v1 Api获取加密货币JSON数据的应用程序,但对此的支持很快就会被删除,这意味着我将不得不迁移更强大的professional v1 Api。
唯一的问题是,我不知道如何在解析JSON数据时实现使用新的Api密钥。我的钥匙:cab79c7b-52e9-4e4b-94fc-b0f32da14799
我正在使用这个git repo的大量修改版本来编写应用程序,但所有基本功能都基于此处。
我只需要指导我需要添加到此文件中以显示新的专业版v1 Api,任何评论或想法都表示赞赏。谢谢
这是crypto_data_prod.dart
文件,我将不得不更改我的代码以使用密钥。
import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:fluttercrypto/data/crypto_data.dart';
class ProdCryptoRepository implements CryptoRepository {
String cryptoUrl = "https://api.coinmarketcap.com/v1/ticker/?limit=50";
@override
Future<List<Crypto>> fetchCurrencies() async {
// TODO: implement fetchCurrencies
http.Response response = await http.get(cryptoUrl);
final List responseBody = JSON.decode(response.body);
final statusCode = response.statusCode;
if (statusCode != 200 || responseBody == null) {
throw new FetchDataException(
"An error ocurred : [Status Code : $statusCode]");
}
return responseBody.map((c) => new Crypto.fromMap(c)).toList();
}
}
尝试将http.Response response = await http.get(cryptoUrl);
更改为
http.Response response = await http.get(cryptoUrl,
headers: {"X-CMC_PRO_API_KEY": "cab79c7b-52e9-4e4b-94fc-b0f32da14799"});
有关更多信息,请查看this link。