我使用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 上获取 oAuth2 访问令牌。你找到方法了吗?我有来自 firebase 的 serviceAcount json 文件。我可以获取 Android 的 Token,但无法获取 iOS 的 Token 谢谢..