मैंने पहले से ही कर्नल में निम्न आदेश का प्रयास किया है ताकि फायरबेस रीस्ट एपीआई का उपयोग करके अधिसूचना भेजी जा सके और यह काम करता है:जावा का उपयोग करने के बराबर जावा क्या है https://fcm.googleapis.com/fcm/send REST Api
curl -X POST --header "Authorization: key=AIza...iD9wk" --Header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"notification\":{\"title\": \"My title\", \"text\": \"My text\", \"sound\": \"default\"}, \"to\": \"cAhmJfN...bNau9z\"}"
अब जब कि मैं जावा में भी ऐसा ही करने की कोशिश कर रहा हूँ, मैं एक ही और कुछ भी नहीं है कि मैं कोशिश की है अपने मोबाइल endpoint में अधिसूचना चलाता है करने के लिए एक आसान तरीका नहीं पा सके।
यह मेरा सबसे करीबी दृष्टिकोण है:
try {
HttpURLConnection httpcon = (HttpURLConnection) ((new URL("https://fcm.googleapis.com/fcm/send").openConnection()));
httpcon.setDoOutput(true);
httpcon.setRequestProperty("Content-Type", "application/json");
httpcon.setRequestProperty("Authorization: key", "AIza...iD9wk");
httpcon.setRequestMethod("POST");
httpcon.connect();
System.out.println("Connected!");
byte[] outputBytes = "{\"notification\":{\"title\": \"My title\", \"text\": \"My text\", \"sound\": \"default\"}, \"to\": \"cAhmJfN...bNau9z\"}".getBytes("UTF-8");
OutputStream os = httpcon.getOutputStream();
os.write(outputBytes);
os.close();
// Reading response
InputStream input = httpcon.getInputStream();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(input))) {
for (String line; (line = reader.readLine()) != null;) {
System.out.println(line);
}
}
System.out.println("Http POST request sent!");
} catch (IOException e) {
e.printStackTrace();
}
लेकिन तब मैं:
java.io.IOException: Server returned HTTP response code: 401 for URL: https://fcm.googleapis.com/fcm/send
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1625)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at httpclient.test.MyHttpClientPost.sendNotification(MyHttpClientPost.java:131)
at httpclient.test.MyHttpClientPost.main(MyHttpClientPost.java:26)
एक अच्छी तरह से लिखित प्रश्न के लिए धन्यवाद। एक साधारण मुद्दा, लेकिन आपने किसी को अपनी समस्या को जानने और वास्तव में मदद करने के लिए आवश्यक सभी विवरण प्रदान किए। सबसे महत्वपूर्ण बात यह है कि यह प्रश्न भविष्य में किसी और की मदद कर सकता है, जो स्टैक ओवरफ्लो का _ वोल पॉइंट_ है, और आपने उसमें अच्छी तरह से योगदान दिया है। [मैं इतना प्रभावशाली क्यों हूं? एसओ पर अच्छी तरह से लिखे गए प्रश्न एक दुर्लभता हैं क्योंकि आपको जल्द ही कोई संदेह नहीं होगा] –