Трепетание - использование ключа API - PullRequest
0 голосов
/ 13 сентября 2018

Я создаю приложение, которое получает данные криптовалюты JSON от public v1 Api , но поддержка этого вскоре будет прекращена, а это значит, что мне придется перейти на более мощный профессиональный v1 Api .

Единственная проблема заключается в том, что я не знаю, как реализовать использование нового ключа Api, который требуется при анализе данных JSON. Мой ключ: 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();
  }
}

1 Ответ

0 голосов
/ 13 сентября 2018

Попробуйте изменить 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"});

Для получения дополнительной информации проверьте эту ссылку .

...