0

我需要从托管在 127.0.0.1 上的架子服务器向我的 firebase rtdb 发出请求,我有 url 和 db 机密。但是,每当我尝试使用 http 包向 db url 发出 get 请求时,都会收到 401 错误。

我的代码:

import 'dart:io';
import 'package:http/http.dart';
import 'package:firebase/firebase_io.dart';

class FirebaseLocalClient {
  void putSudokuBoard() async {
    var a = await get(
        Uri.parse(
            "<db url>"),
        headers: {
          "Authorization": "Bearer <your database secret>",
          'Content-Type': "application/js"
        });

    print(a.statusCode);
    //print(a.runtimeType);
  }
}

void main(List<String> args) {
  FirebaseLocalClient().putSudokuBoard();
}

我从架子服务器调用此代码(类似于 main 函数中的代码),但在这里运行它本身会收到 401 错误。我无法理解为什么我收到 401 错误,我有数据库机密,但我无法在该位置获取数据。我尝试使用 admin sdk json 但也收到了 401

我使用 a.body 时的输出: 在此处输入图像描述

我使用 a.statuscode 时的输出: 在此处输入图像描述

4

1 回答 1

1

如果您使用的是数据库机密,那么您似乎需要附加auth参数。根据https://firebase.google.com/docs/database/rest/retrieve-data#section-rest-uri-params

curl 'https://docs-examples.firebaseio.com/auth-example.json?auth=CREDENTIAL'

删除Authorization标题并在 curl 中尝试

于 2021-12-30T20:33:15.663 回答