OkHttp3Connection代码403错误

时间:2018-08-14 20:24:25

标签: java neo4j okhttp3

我已经对数据库进行了一些查询,它们通常可以正常工作,但是当我尝试在当前类中进行查询时,出现以下错误:

{"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时出现错误。我的问题是为什么这样做?我该如何调试并检查问题所在?

1 个答案:

答案 0 :(得分:1)

403禁止表示该服务器由于未获得您的授权而拒绝处理您的请求。根据消息的详细信息,服务器希望将授权令牌作为标头传递。您将需要与服务器一起确定期望的“令牌”。