Unity3D 게임 엔진에서 firefox 클라우드 기능 프로젝트에 POST Http 요청을하는 데 문제가 있습니다.UnityWebRequest Firebase 용 클라우드 기능에 대한 HTTP POST
나는 코드 400 응답을 받고 계속하고, 중포 기지 콘솔에서 나는 다음과 같은 오류 볼 수 있습니다 : 정말 HTTP를 요청에 대한 많은 지식이없는
Error: invalid json at parse
, 그리고 꽤 많은 시간 후 도움을 요청하고 싶은 해결책을 찾으려고 노력하고 있습니다.
public void RateLevel(string guid, int rating)
{
RateLevelRequest rlr = new RateLevelRequest (guid, rating.ToString());
string body = rlr.ToJson();
UnityWebRequest www = UnityWebRequest.Post("myurl", body);
www.SetRequestHeader ("Content-Type", "application/json");
StartCoroutine (MakeRequest (www));
}
/* * * * * * * * * * * * * * * * * * *
* AUXILIAR CLASS FOR HTTP REQUESTS *
* * * * * * * * * * * * * * * * * * */
[System.Serializable]
public class RateLevelRequest
{
public string guid;
public string rating;
public RateLevelRequest(string _guid, string _rating)
{
guid = _guid;
rating = _rating;
}
public string ToJson()
{
string json = JsonUtility.ToJson (this);
Debug.Log ("RateLevelRequest Json: " + json);
return json;
}
}
는이 같은 값으로, json으로 잘 형성되어 있음을 보장 할 수 있습니다 : 여기
클라이언트 코드입니다.{"guid":"fake-guid","rating":"-1"}
그리고 firebase-functions에서 현재 배포 된 기능은 다음과 같습니다.
exports.rate_level = functions.https.onRequest((req, res) => {
if(req.method === 'POST')
{
console.log('guid: ' + req.body.guid);
console.log('rating: ' + req.body.rating);
console.log('invented var: ' + req.body.myinvention);
if(req.body.guid && req.body.rating &&
(req.body.rating == 1 || req.body.rating == -1))
{
res.status(200).send('You are doing a post request with the right fields and values');
}
else
{
res.status(403).send('Required Fields are not Defined!')
}
}
else
{
res.status(403).send('Wrong Request Method!');
}
});
누구든지 이것을 시도하고 성공 했습니까?
미리 감사드립니다.