Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 使用RESTAPI发送通知_Firebase_Flutter_Dart - Fatal编程技术网

Firebase 使用RESTAPI发送通知

Firebase 使用RESTAPI发送通知,firebase,flutter,dart,Firebase,Flutter,Dart,我想使用http包通过Flatter应用程序向主题发送通知,使用中的文档 因为它需要每小时过期一次的访问令牌。如何在flatter中管理它?最后,我找到了使用包获取OAuth代码的方法 Future getAccessToken()异步{ 最终谷歌签名=谷歌签名( 范围:['https://www.googleapis.com/auth/firebase.messaging']); final c=等待谷歌签名。签名(); 最终a=等待c!。身份验证; 返回a.accessToken; } 是否

我想使用http包通过Flatter应用程序向主题发送通知,使用中的文档


因为它需要每小时过期一次的访问令牌。如何在flatter中管理它?

最后,我找到了使用包获取OAuth代码的方法

Future getAccessToken()异步{
最终谷歌签名=谷歌签名(
范围:['https://www.googleapis.com/auth/firebase.messaging']);
final c=等待谷歌签名。签名();
最终a=等待c!。身份验证;
返回a.accessToken;
}

是否需要
http
包?否则,您可能会查看颤振包。他们做了很多繁重的工作,并处理诸如令牌刷新之类的事情:在并没有http包的情况下,我应该如何向RESTAPI发送请求?是的,我正在使用该插件,但该插件能够使用其令牌向特定用户发送通知。我想要的是向主题的订阅者发送通知。Node.js有可用的admin sdk,可以轻松管理Oauth密钥,但我没有发现任何适用于颤振的sdk。另一个解决方法是使用旧FCM API。是的,我目前正在使用它,但我想迁移到新的API
POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1

Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
{
  "message":{
    "topic" : "foo-bar",
    "notification" : {
      "body" : "This is a Firebase Cloud Messaging Topic Message!",
      "title" : "FCM Message"
      }
   }
}
  Future<String?> getAccessToken() async {
    final googleSignIn = GoogleSignIn(
        scopes: ['https://www.googleapis.com/auth/firebase.messaging']);
    final c = await googleSignIn.signIn();
    final a = await c!.authentication;
    return a.accessToken;
  }