Estou o seguinte problema, no código abaixo trata-se de uma rotina para Push Notification com FCM(Firebase Clouding Messaging), no código eu faço um request via POST passando nele alguns dados no Header, o objetivo deste código é enviar ao dispositivo uma notificação via código, com titulo e mensagem no formato json, eis o problema não estou conseguindo criar o código para escrever o stream que esta vindo da requisição, eu sei fazer em java, segue o código em Java que eu quero que faça em ASP :
Código JAVA
JSONObject jGcmData = new JSONObject();
JSONObject jData = new JSONObject();
jData.put("title", title);
jData.put("message", message);
jGcmData.put("to", to);
// What to send in GCM message.
jGcmData.put("data", jData);
// Create connection to send GCM Message request.
URL url = new URL("https://fcm.googleapis.com/fcm/send");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Authorization", "key=AIzaSyB4YaD-UJE6_0J3bx433B53w2oUR20C6Jk");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestMethod("POST");
conn.setDoOutput(true);
// Send GCM message content.
OutputStream outputStream = conn.getOutputStream();
outputStream.write(jGcmData.toString().getBytes());
Você podem notar que na ultima linha eu faço a escrita do JSON em bytes com objeto outputstream vindo do request
Como eu faço isso em ASP Classic
O código abaixo foi que eu tentei fazer em ASP
Código em ASP
Option Explicit
Function StringToByteArray(s)
Dim i, byteArray
For i=1 To Len(s)
byteArray = byteArray & ChrB(Asc(Mid(s,i,1)))
Next
StringToByteArray = byteArray
End Function
Dim jGcmData = New JSON
Dim jData = New JSON
jData.Add "title", "someString"
jData.Add "message", "12.3"
jGcmData.Add "to", "XXX"
jGcmData.Add "data", jData
Dim data, httpRequest, postResponse
Response.Buffer = true;
Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
ServerXmlHttp.Open "POST", "https://fcm.googleapis.com/fcm/send", False
ServerXmlHttp.SetRequestHeader "Authorization", "key=YYYY"
ServerXmlHttp.SetRequestHeader "Content-Type", "application/json"
ServerXmlHttp.Send data
Dim stringToByteArray
stringToByteArray = StringToByteArray(jGcmData.Serialize())
StreamResponse = ServerXmlHttp.responseStream
Pergunta
Jacob Oliveira
Boa noite pessoal,
Estou o seguinte problema, no código abaixo trata-se de uma rotina para Push Notification com FCM(Firebase Clouding Messaging), no código eu faço um request via POST passando nele alguns dados no Header, o objetivo deste código é enviar ao dispositivo uma notificação via código, com titulo e mensagem no formato json, eis o problema não estou conseguindo criar o código para escrever o stream que esta vindo da requisição, eu sei fazer em java, segue o código em Java que eu quero que faça em ASP :
Código JAVA
JSONObject jGcmData = new JSONObject(); JSONObject jData = new JSONObject(); jData.put("title", title); jData.put("message", message); jGcmData.put("to", to); // What to send in GCM message. jGcmData.put("data", jData); // Create connection to send GCM Message request. URL url = new URL("https://fcm.googleapis.com/fcm/send"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestProperty("Authorization", "key=AIzaSyB4YaD-UJE6_0J3bx433B53w2oUR20C6Jk"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestMethod("POST"); conn.setDoOutput(true); // Send GCM message content. OutputStream outputStream = conn.getOutputStream(); outputStream.write(jGcmData.toString().getBytes());
Você podem notar que na ultima linha eu faço a escrita do JSON em bytes com objeto outputstream vindo do request
Como eu faço isso em ASP Classic
O código abaixo foi que eu tentei fazer em ASP
Código em ASP
Option Explicit Function StringToByteArray(s) Dim i, byteArray For i=1 To Len(s) byteArray = byteArray & ChrB(Asc(Mid(s,i,1))) Next StringToByteArray = byteArray End Function Dim jGcmData = New JSON Dim jData = New JSON jData.Add "title", "someString" jData.Add "message", "12.3" jGcmData.Add "to", "XXX" jGcmData.Add "data", jData Dim data, httpRequest, postResponse Response.Buffer = true; Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP") ServerXmlHttp.Open "POST", "https://fcm.googleapis.com/fcm/send", False ServerXmlHttp.SetRequestHeader "Authorization", "key=YYYY" ServerXmlHttp.SetRequestHeader "Content-Type", "application/json" ServerXmlHttp.Send data Dim stringToByteArray stringToByteArray = StringToByteArray(jGcmData.Serialize()) StreamResponse = ServerXmlHttp.responseStream
Desde já obrigado pela ajuda e pelos comentários
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.