Saya sedang menulis kode VB.NET untuk mengirim pemberitahuan ke Emulator Android. Saya berhasil mengirim pesan pengujian dari kontrol firebase. Namun, gagal ketika saya mencoba mengirim pesan melalui kode VB.NET di mesin lokal saya dan mendapatkan kesalahan "Server jarak jauh mengembalikan kesalahan: (401) Tidak Sah".
Saya sudah mencoba melihat tautan berikut: FCM (Firebase Cloud Messaging ) Pemberitahuan Push dengan Asp.Net dan mengikuti instruksi tetapi masih tidak berfungsi.
Ini kode saya:
Imports System.Net
Imports Newtonsoft.Json
Public Class Notification
Public Sub SendNotification(ByVal deviceIDList As List(Of String), ByVal title As String, ByVal bodyMsg As String)
Dim fcmPath As String = "https://fcm.googleapis.com/fcm/send"
Dim serverKey As String = "AIzaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoCAeI"
Dim senderID As String = "35xxxxxxx37"
Dim request As HttpWebRequest = CType(HttpWebRequest.Create(fcmPath), HttpWebRequest)
With request
.Method = "POST"
.ContentType = "application/json"
.Headers.Add(String.Format("Authorization: key={0}", serverKey))
.Headers.Add(String.Format("Sender: id={0}", senderID))
End With
Using streamWriter = New StreamWriter(request.GetRequestStream())
Dim webObject As New WebRequestFcmData
With webObject
.registration_ids = deviceIDList
.notification.title = title
.notification.body = bodyMsg
.notification.content_available = True
.notification.sound = "default"
.notification.priority = "high"
End With
Dim body = JsonConvert.SerializeObject(webObject)
With streamWriter
.Write(body)
.Flush()
.Close()
End With
End Using
Dim httpResponse = CType(request.GetResponse(), HttpWebResponse)
Using streamReader As New StreamReader(httpResponse.GetResponseStream)
Dim result = streamReader.ReadToEnd
End Using
End Sub
End Class
Public Class WebRequestFcmData
Public Property registration_ids As List(Of String)
Public Property notification As New NotificationData
End Class
Public Class NotificationData
Public Property body As String
Public Property content_available As Boolean
Public Property priority As String
Public Property title As String
Public Property sound As String
End Class
Kesalahan terjadi pada baris:
Dim httpResponse = CType(request.GetResponse(), HttpWebResponse)
Berikut adalah server key dan sender ID yang saya gunakan:
Diperbarui: Saya mencoba mengirim permintaan web dari aplikasi Tukang Pos dan juga memberikan kesalahan yang sama (401: Tidak Sah) seperti yang ditunjukkan pada gambar di bawah ini: