D / OkHttp: {"code": 60202, "message": "Требуется токен"}
Код ошибки сервера при вводе Qrcode. Давайте проверим мой Qrcode onActivityResult, API, другие. а потом как мне исправить код. Спасибо.
Я уже пытался добавить токен безопасности в onActivityResult. но все та же проблема. Как я могу решить мой код ??
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
val securitytoken = SaveSharedPreference.getUserInfo(this)
val result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data)
if (securitytoken != null) {
if (result == null) {
Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show()
} else {
Toast.makeText(this, "Scanned: " + result.contents, Toast.LENGTH_LONG).show()
Client.retrofitService.request(result.contents).enqueue(object : Callback<String?> {
override fun onResponse(
call: Call<String?>?,
response: Response<String?>?
) {
Log.d(toString(), "status: ${response?.code()}. body: ${response?.body()}")
}
override fun onFailure(call: Call<String?>, t: Throwable) {
}
})
}
}
}
object SaveSharedPreference {
private var keyToken = "key.token"
private fun getSharedPreferences(ctx: Context): SharedPreferences {
return PreferenceManager.getDefaultSharedPreferences(ctx)
}
fun setUserInfo(ctx: Context, token: String) {
val editor: Editor =
getSharedPreferences(ctx).edit()
editor.putString(keyToken, token)
editor.apply()
}
fun getUserInfo(ctx: Context): String? {
return getSharedPreferences(ctx)
.getString(keyToken, null)
}
}
interface API {
@Headers(
"Content-Type: application/json", "Authorization: token: String"
)
@POST("user/login/email")
fun login(@Body data: Data): Call<LoginResponse>
@GET("user/confirm")
fun confirm(@Header("authorization") token: String): Call<LoginResponse>
@PUT("punch/sign/{punchId}")
fun request(@Path("punchId") id: String): Call<String?>
}