找不到返回404的FirebaseAdmin消息

时间:2019-06-07 18:59:23

标签: asp.net .net firebase asp.net-core firebase-admin

我正在编写一个API,该API在被请求到android设备时发送firebase消息(使用官方的FirebaseAdmin库)。我可以在正常C#中完美地运行它,但是在ASP.NET核心中,我总是遇到404 not found的异常。

Response status code does not indicate success: 404 (NotFound)
{
  "error": {
    "code": 404,
    "message": "Requested entity was not found.",
    "errors": [
      {
        "message": "Requested entity was not found.",
        "domain": "global",
        "reason": "notFound"
      }
    ],
    "status": "NOT_FOUND"
  }
}

我在启动时运行以下代码:

if (FirebaseApp.DefaultInstance == null)
{
    FirebaseApp.Create(new AppOptions
    {
        Credential = GoogleCredential.FromFile($@"{env.WebRootPath}\app-5a821-firebase-adminsdk-pf36f-6f44114d87.json")
    });
}

这是我提出的要求,非常简单:

[HttpGet]
public async Task<ActionResult<IEnumerable<string>>> Get()
{
    var message = new Message
    {
        Token = "dgY8UMXhEZ4:APA91bFnrZTGJKkCCBJHzbghvsvEaq-w-ee1XBAVqAaS-rsmR3Ald23rHGgpfdgVb09r97jDQBVSc6GtDHWtLHWAnn4Lm3EM_j-sh7cu-RaRSrfnk3X124v4co3Q9ID6TxFdGgv7OXWt",
        Data = new Dictionary<string, string>
        {
            {"title", "test" }
        }
     };
     try
     {
        var fcmResult = await FirebaseMessaging.DefaultInstance.SendAsync(message);
     } catch (FirebaseException ex)
     {

     } 

     return new string[] { "value1", "value2" };
 }

Github测试项目:https://github.com/kevingoos/FirebaseAdminTest

1 个答案:

答案 0 :(得分:0)

已解决的问题:https://github.com/firebase/firebase-admin-dotnet/issues/73

当令牌无效/过期或与用于初始化Admin SDK的凭据不属于同一项目时,会发生这种情况。