I made https cloud functions, and I make a request to it with the iOS app. The Cloud function is called, since I can see the log, but I can not get the parameters from the request that I sent from the iOS app. I tried several different options but they helped me, please tell me how I can achieve the result?
const functions = require('firebase-functions'); const admin = require('firebase-admin'); module.exports = functions.https.onRequest((req, res) => { console.log("getChatGroupConversationAvatars start", req.params); const requestDict = req.params; console.log("requestDict", requestDict); const queryFormat = req.query.format; console.log("queryFormat", queryFormat); const conversationID = requestDict["conversationID"]; const currentUserID = requestDict["currentUserID"]; console.log("conversationID", conversationID, "currentUserID", currentUserID); return console.log("getChatGroupConversationAvatars"); });
iOS app code
class ChatAvatarsManager { func getChatGroupConversationAvatars(_ conversationID: String) { DispatchQueue.main.async { guard let currentUserID = RealmManager().getCurrentUser()?.id else { return } DispatchQueue.global(qos: .background).async { let path = "https://us-central1-exampleapp.cloudfunctions.net/getChatGroupConversationAvatars" guard let url = URL(string: path) else { return } let parameters = ["conversationID" : conversationID, "currentUserID" : currentUserID] AlamofireExampleManager.shared.request(url, method: .get, parameters: parameters, encoding: URLEncoding.default, headers: nil).responseJSON { (response) in switch response.result { case .success: debugPrint("getChatGroupConversationAvatars success") case .failure(let error): if error._code == NSURLErrorTimedOut { //timeout here debugPrint("getChatGroupConversationAvatars timeOut") } debugPrint("getChatGroupConversationAvatars \(error)") } } } } } } struct AlamofireExampleManager { static let shared: SessionManager = { let configuration = URLSessionConfiguration.default configuration.timeoutIntervalForRequest = 10 let sessionManager = Alamofire.SessionManager(configuration: configuration) return sessionManager }()
For example I got this result in logs
conversationID undefined currentUserID undefined
I also tried it
module.exports = functions.https.onRequest((req, res) => { const conversationID = req.params.conversationID; const currentUserID = req.params.currentUserID; console.log("conversationID", conversationID, "currentUserID", currentUserID); return console.log("getChatGroupConversationAvatars"); });
I read this post and rewrote my code so it works for me.
const functions = require('firebase-functions'); const admin = require('firebase-admin'); module.exports = functions.https.onRequest((req, res) => { const conversationID = req.query.conversationID; const currentUserID = req.query.currentUserID; console.log("conversationID", conversationID, "currentUserID", currentUserID); return console.log("getChatGroupConversationAvatars"); });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With