使用 FCM 将推送通知从之前的 HTTP 转换为 HTTP v1

问题描述 投票:0回答:1

我使用FCM。我读到了谷歌的通知,https://firebase.google.com/docs/cloud-messaging/migrate-v1?hl=ja#c

对于从之前的 HTTP 到 HTTP v1 的过渡,OAuth 2.0 现在需要访问令牌而不是服务器密钥。

但是,我不确定如何获得这个令牌。

当前代码

    func(){
        let serverKey:String = "AAAAA"
        let url = URL(string: "https://fcm.googleapis.com/fcm/send")!
        let userIdToken:String = userIdToken
        var request = URLRequest(url: url)  
        
        let postMessage: [String: Any] = [
                "to": userIdToken,
                "priority": "high", 
                "content_available" : true, 
                "notification": [
                        "badge": 1,
                        "body": body,
                        "title": title
   ] as [String : Any]
  ]
  request.httpMethod = "POST"
  request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
  request.setValue("key=\(serverKey)", forHTTPHeaderField: "Authorization")
  :
  :

我尝试过的代码

    func(){
        //let serverKey:String = "AAAAA"
        //add
        let url = URL(string: "https://fcm.googleapis.com/v1/projects/myproject/messages:send")!
        let userIdToken:String = userIdToken
        var request = URLRequest(url: url)   
        let postMessage: [String: Any] = [
                "to": userIdToken,
                "priority": "high", 
                "content_available" : true, 
                "notification": [
                        "badge": 1,
                        "body": body,
                        "title": title
                ] as [String : Any]
        ]

        /* I would like to know the solusion. */
        //add
        let accessToken:String = getOAuth2AccessToken()

        request.httpMethod = "POST"
        request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
        //request.setValue("key=\(serverKey)", forHTTPHeaderField: "Authorization")
        //add
        request.setValue("Bearer \(accessToken)", forHTTPHeaderField: "Authorization")
  :
  :

我想用 Swift 编写这个代码 (

getOAuth2AccessToken()
),但我不知道该怎么做。

ios firebase
1个回答
0
投票

我也有同样的问题。我需要在我的 iOS 上获取 oAuth2 访问令牌。你找到方法了吗?我有来自 firebase 的 serviceAcount json 文件。我可以获取 Android 的 Token,但无法获取 iOS 的 Token 谢谢..

© www.soinside.com 2019 - 2024. All rights reserved.