Dart 的 Firebase API 客户端库

melos

这是基于 googleapis.dart 仓库,但仅旨在支持 Firebase 相关 API。此外,它还增加了对几个未列出(但可发现)的 Firebase API 的支持,这些 API 未在 googleapis.dart 使用(且目前仅限于)的官方 发现 API 上列出,以及几个私有 API(需要 API 密钥才能查看发现信息的 API)。

有关所有当前支持的 API 的信息,请参阅 ./generated/firebaseapis/README.md

用法示例

// 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);

贡献

该项目使用 Melos 来管理项目和依赖项。

要安装 Melos,请从您的 SSH 客户端运行以下命令

pub global activate melos

接下来,在您本地克隆的存储库的根目录下,引导项目的依赖项

melos bootstrap

引导命令在本地链接项目内的所有依赖项,而无需
提供手动 dependency_overrides。这允许所有
插件、示例和测试从本地克隆的项目构建。

一旦引导完成,您就不需要运行 flutter pub get

添加新 API

要添加新 API 并为其生成库代码,这相当直接;

  1. 将 API 添加到 ./config.yaml 中的 apis 列表
  2. 运行 melos run config:download 以更新位于 ./discovery 中的下载的发现文档 JSON 文件。
    • 注意:访问几个 API 需要 API 密钥才能读取发现信息。在运行命令之前设置 API_KEY 环境变量,以便能够下载这些私有 API 的发现文档,例如 API_KEY=<your-key-here> melos run config:download
  3. 运行 melos run config:generate 为 API 生成新的 Dart 库代码,该代码输出到 ./generated/firebaseapis



Invertase 维护。