0

firebase 클라우드 기능을 개별적으로 호출하려고했지만 json 매개 변수 액세스가 불가능하다는 점을 제외하면 모든 것이 잘 작동하는 것 같습니다. request.body.PARAMETER_NAME은 항상 정의되지 않은 값을 반환하며이 시점에서 멈 춥니 다.android에서 firebase 클라우드 기능으로의 POST 요청

이 내 안드로이드 코드 :

try { 
         JSONObject jsonParam = new JSONObject(); 
         jsonParam.put("param1", "v1"); 
         jsonParam.put("param2", 2302355); 
         jsonParam.put("param3", "v2"); 

         URL url = new URL(urls[0]); 
         HttpURLConnection connection; 
         connection = (HttpURLConnection) url.openConnection(); 
         connection.setRequestProperty("Authorization", idToken); 
         connection.setRequestMethod("POST"); 
         connection.setRequestProperty("Content-Type", "application/json"); 
         connection.setUseCaches(false); 
         connection.setAllowUserInteraction(false); 
         connection.setConnectTimeout(10000); 
         connection.setReadTimeout(10000); 
         //Write 
         OutputStream outputStream = connection.getOutputStream(); 
         BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); 
         writer.write(jsonParam.toString()); 
         writer.close(); 
         outputStream.close(); 
         /// 
         connection.connect(); 
         int res = connection.getResponseCode(); 
         a = (res == HttpURLConnection.HTTP_OK); 
         if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { 
         server_response = readStream(connection.getInputStream()); 
         } 
        } catch (IOException e) { 
         e.printStackTrace(); 
        } 
        //return (a) ? server_response : "Nothing"; 
        return server_response; 

내 서버 코드 :

exports.SOME_FUNCTION_NAME = functions.https.onRequest(function (request, response) { 
if (!request.headers.authorization) { 
    console.error('No Firebase ID token was passed'); 
    response.status(403).send('Unauthorized'); 
    return; 
} 
admin.auth().verifyIdToken(request.headers.authorization).then(function (decodedIdToken) { 
    request.user = decodedIdToken; 
    response.send(request.body + '\n'+request.params+'\n'+request.data+'\n'+request.headers); 
}).catch(function (error) { 
    console.error('Error while verifying Firebase ID token:', error); 
    response.status(403).send('Unauthorized ' + error); 
}); 

}); 내가 틀릴 수도 무엇

응답

undefined을 얻을 request.body.toJSON를 들어

[object Object][object Object][undefined][object Object] 

:

내가 점점 계속 응답입니까?

미리 감사드립니다.

답변

0

request.body.PARAM_NAME을 (를) 사용하는 것으로 나타났습니다.