Я сделал несколько запросов к базе данных, и они обычно работают, но когда я пытаюсь сделать это в текущем классе, я получаю следующую ошибку:
{"code":403,"success":false,"message":"Forbidden, No token provided"}
Оба класса слишком длинные, чтобы публиковать их здесь, поэтому я думаю, что это все, что я могу предоставить:
SET_USER_STAR_COUNT = URL + "setUserProfileStars";
JSONObject request_data=new JSONObject();
try
{
request_data.put("newscore",newStars);
} catch (JSONException e)
{
e.printStackTrace();
}
OkHttp3Connection.doOkHttp3Connection("", Services_Url_class.SET_USER_STAR_COUNT, OkHttp3Connection.Request_type.POST, request_data, new OkHttp3Connection.OkHttp3RequestCallback() {
@Override
public void onSuccess(String result, String user_tag) {
System.out.println("oO" + result);
}
@Override
public void onError(String error, String user_tag)
{}
});
А вот и контроллер:
Router.post('/setUserProfileStars', function (req, res) {
var username = req.decoded.name;
var newStars = req.decoded.newscore;
var response = [];
var addStars = 'MATCH (n:User) WHERE n.username = "' + username + '" SET n.stars = "'+ newStars +'" RETURN n.stars AS totalStars';
dbneo4j.cypher({
query: addStars
}, function (err, data) {
if (err) {
return res.send({
code: 9325,
message: 'error encountered',
error: err
}).status(9325);
}
response.push(data);
res.send({
code: 200,
message: 'success',
data: response
}).status(200);
});
});
Если я могу еще что-нибудь предоставить, я сделаю это.
Ошибка возникает при попытке распечатать result. У меня вопрос: почему это происходит и как я могу отладить и проверить, что с этим не так?




403 Forbidden означает, что сервер отказывается обрабатывать ваш запрос, потому что вы не авторизованы. Согласно деталям сообщения, сервер ожидает, что токен авторизации будет передан в качестве заголовка. Вам придется работать с сервером, чтобы определить, какой «токен» он ожидает.
Куда бы я поместил «жетон»?
Вы передаете токен, каким бы он ни был, в заголовке запроса. Проблема заключается в получении действующего токена. Обычно вам нужно связаться с сервером авторизации, пройти аутентификацию на нем, и он вернет вам токен. Как это реализовано, варьируется.
Это действительно помогло мне понять, в чем дело, спасибо,
Не используйте тег Javascript для вопросов Java, это не одно и то же