У меня проблема с API, который построен с помощью laravel.Ниже приводится ответ от сервера laravel:
{
"status": "success",
"message": "Successfully logged in",
"data": {
"access_token": "eyJ0eXAiOiJKV1Qi...",
"token_type": "Bearer",
"expires_at": "2020-03-21 14:22:54"
}
}
Я обращаюсь к API в приведенном ниже сценарии в Unity, используя C #, который работает на Android 8.1 Oreo
, но не работает на Android 9.0 Pie
.
IEnumerator LogInResponseCheck()
{
if (loginEmailText.text == "")
wrongSignInResponseText.text = "Enter your Email Adress!";
else if (loginPassword.text == "")
wrongSignInResponseText.text = "Enter your Password!";
else
{
LogInSystem logInSystem = new LogInSystem()
{
email = loginEmailText.text,
password = loginPassword.text,
remeber_me = true
};
var signinInfo = new UnityWebRequest(signInURL, "POST");
string jsonString = JsonUtility.ToJson(logInSystem);
byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(jsonString);
signinInfo.uploadHandler = (UploadHandler)new UploadHandlerRaw(jsonToSend);
signinInfo.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
signinInfo.SetRequestHeader("Content-Type", "application/json");
signinInfo.SetRequestHeader("X-Requested-With", "XMLHttpRequest");
//Send the request then wait here until it returns
yield return signinInfo.SendWebRequest();
loginTestText.text = "Log in Response " + signinInfo.downloadHandler.text;
if (signinInfo.isNetworkError)
{
Debug.Log("Error While Sending: " + signinInfo.error);
}
else
{
LogInSuccessParametes response = JsonUtility.FromJson<LogInSuccessParametes>(signinInfo.downloadHandler.text);
{
Debug.Log(signinInfo.downloadHandler.text);
Debug.Log("Response " + response);
Debug.Log("status " + response.status);
Debug.Log("response " + response.message);
Debug.Log("data " + response.data);
Debug.Log("token Type" + response.data.token_type);
Debug.Log("access Token" + response.data.access_token);
}
WWWForm tokenForm = new WWWForm();
sessionToken = "Bearer " + response.data.access_token;
tokenForm.AddField("Authorization", sessionToken);
PlayerPrefs.SetString("sessionToken", sessionToken);
WWW www = new WWW(signInURL, tokenForm);
if (response.status == "success")
{
StartCoroutine(TokenAccesss(www));
wrongSignInResponseText.text = "";
}
else
{
wrongSignInResponseText.text = "Email or password is incorrect!";
aPILoadingPanel.SetActive(false);
}
}
}
}