Я должен указать ключ API в заголовке запроса следующим образом:
Авторизация: Носитель "ВАШ КЛЮЧ API"
Это мой код (Я не уверен, куда поместить заголовок и как )
Future<Stream<Book>> getBooks() async {
var url = ‘example_url’
var client = http.Client();
var streamedResponse = await client.send(
http.Request(‘get’, Uri.parse(url))
);
return streamedResponse.stream
.transform(utf.decoder)
.transform(json.decoder)
.expand(jsonBody) => (jsonBody as Map)[‘results’] )
.map((jsonBook) = Book.fromJson(jsonBook));
}
Документы Flutter https://flutter.io/cookbook/networking/authenticated-requests/ говорят об использовании этого формата для аутентифицированных запросов, но это не для потоков, этовозвращает будущее объекта (Книга)
Future<Book> fetchPost() async {
final response = await http.get(
'https://jsonplaceholder.typicode.com/posts/1',
headers: {HttpHeaders.authorizationHeader: "Place your_api_token_here"},
);
final responseJson = json.decode(response.body);
return Book.fromJson(responseJson);
}