Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.2.0

firebaseapis

Bibliotecas de cliente geradas automaticamente para acessar APIs do Google descritas por meio do serviço de descoberta de API.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
20,5 mil
Curtidas
21
Pontos Pub
160

Instalar pacote

flutter pub add firebaseapis

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote firebaseapis fornece bibliotecas cliente geradas automaticamente para acessar APIs do Google por meio do serviço de descoberta de API. Criado para Flutter e Dart, permite integração sem problemas com o Firebase e outros serviços do Google ao gerar APIs seguras por tipo a partir das descrições oficiais das APIs. Isso permite que desenvolvedores interajam diretamente com o vasto ecossistema do Google — como Drive, Calendário e Armazenamento em Nuvem — diretamente de seus aplicativos nas plataformas Android, iOS, Web, macOS, Windows e Linux. O pacote é mantido pela invertase.io e suporta fluxos de trabalho modernos de desenvolvimento Flutter.

Casos de uso

  • Integração com o Google Drive
  • Acessando dados do Google Calendar
  • Buscando informações do usuário do Google Identity
  • Gerenciando operações de armazenamento em nuvem
  • Sincronizando dados com o Google Planilhas
  • Conectando-se à API de Dados do YouTube

Principais recursos

  • Gerado automaticamente a partir dos documentos oficiais de descoberta da API
  • Interfaces Dart seguras por tipo
  • Suporte multiplataforma (Android, iOS, Web, macOS, Windows, Linux)
  • Integração contínua com projetos do Firebase
  • Suporta fluxos de autenticação OAuth2
  • Atualizações regulares com novos lançamentos da API do Google

Indicado para

  • Desenvolvedores criando aplicativos que precisam de acesso à API do Google
  • Projetos que exigem integração com múltiplos serviços do Google
  • Aplicações multiplataforma direcionadas a todos os principais sistemas operacionais
  • Equipes usando o Firebase como infraestrutura de backend
  • Aplicativos que precisam de chamadas de API seguras e autenticadas para serviços do Google

Considerações

  • Requer entendimento do formato de descoberta da API do Google
  • A configuração de autenticação (OAuth2) pode ser complexa
  • Um grande código gerado pode aumentar o tamanho da compilação
  • Documentação limitada além da referência de API gerada
  • Não ideal para casos de uso simples onde clientes leves são suficientes

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Firebase API Client Libraries for Dart

Chat on Discord

melos

This is based on the googleapis.dart repository but instead aimed at supporting Firebase related APIs only. Additionally, this adds support for several unlisted (but discoverable) Firebase APIs that are not listed on the official discovery API that googleapis.dart uses (and is currently limited to) as well as several private APIs (APIs that require an API key to view discovery information).

See ./generated/firebaseapis/README.md for information on all the currently supported APIs.

Usage Example

// Import the APIs you want to use
import 'package:firebaseapis/firebaseremoteconfig/v1.dart' as remote_config;
import 'package:firebaseapis/firebaserules/v1.dart' as firebase_rules;
// Import Auth client
import 'package:googleapis_auth/auth_io.dart' as auth;

// Get an Auth Client
final authClient = await auth.clientViaApplicationDefaultCredentials(scopes: [
  remote_config.FirebaseRemoteConfigApi.cloudPlatformScope,
]);

// Call some APIs
final rc = remote_config.FirebaseRemoteConfigApi(authClient);
final config =
  await rc.projects.getRemoteConfig('projects/<your-project-id>');
print(config.parameters);
print(config.parameters?.values.first.defaultValue);
print(config.parameters?.values.first.description);
print(config.parameters?.values.first.valueType);

final fr = firebase_rules.FirebaseRulesApi(authClient);
final rules =
  await fr.projects.rulesets.list('projects/<your-project-id>');
print(rules.rulesets?.first.name);
print(rules.rulesets?.first.source?.files?.first.content);

Custom Request Headers

Custom request headers can be set by adding to requestHeaders:

import 'package:firebaseapis/src/user_agent.dart';

Future<void> main() async {
  requestHeaders.addAll({
    'cool-header': 'cool-value',
  });
  print(requestHeaders);
}

Contributing

This project uses Melos to manage the project and dependencies.

To install Melos, run the following command from your SSH client:

dart pub global activate melos

Next, at the root of your locally cloned repository bootstrap the projects dependencies:

melos bootstrap

The bootstrap command locally links all dependencies within the project without having to provide manual dependency_overrides. This allows all plugins, examples and tests to build from the local clone project.

You do not need to run flutter pub get once bootstrap has been completed.

Adding a new API

To add a new API and generate library code for it is fairly straightforward;

  1. Add the API to the apis list in ./config.yaml
  2. Run melos run config:download to update the downloaded discovery document JSON files that are in ./discovery.
    • Note: several APIs require an API key to be able to read the discovery information. Set a API_KEY environment variable before running the command to be able to download the discovery documents for these private APIs, e.g. API_KEY=<your-key-here> melos run config:download.
  3. Run melos run config:generate to generate new Dart library code for the API, which outputs to ./generated/firebaseapis.

Maintained by Invertase.

Categorias

Dependências

Lista de dependências 2 itens

  • _discoveryapis_commons^1.0.0
  • http>=0.13.0 <2.0.0

Repositório-fonte

Projetos que usam este pacote