Как обработать ошибку 403 при вызове списка SharePoint с Android? - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу позвонить в SharePoint отдых API формы Android.для этого я использую файлы cookie для вызова остальных API с помощью веб-представления, но во время вызова получаю «BasicNetwork.performRequest: неожиданный код ответа 403».

если я вызываю API rest api SharePoint, используя залп, вот что япытался до.обновление: я использую этот сайт для ссылки SharePoint rest api от android ** Обновление: во время исследования я нашел один пример подключения к точке обмена в Интернете, используя также мыло, есть идеи, как это сделать?**

private void sendAndRequestResponse() {
    //RequestQueue initialized
    Log.d(TAG, "Starting volley request to graph");

    /* Make sure we have a token to send to graph */

    RequestQueue queue = Volley.newRequestQueue(this);
    JSONObject parameters = new JSONObject();

    try {
        parameters.put("key", "value");
    } catch (Exception e) {
        Log.d(TAG, "Failed to put parameters: " + e.toString());
    }
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url,
            parameters,new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            /* Successfully called graph, process data and send to UI */
            Log.d(TAG, "Response: " + response.toString());
            Toast.makeText(MainActivity.this, ""+response.toString(), Toast.LENGTH_SHORT).show();



        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d(TAG, "Error: " + error.toString());
        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> headers = new HashMap<>();
            headers.put("Cookie","rtFa=" + RTFA + "; FedAuth=" + FedAuth);
            headers.put("Accept","application/json;odata=verbose");
            headers.put("Content-type","application/json;odata=verbose");
            return headers;
        }
    };

    Log.d(TAG, "Adding HTTP GET to Queue, Request: " + request.toString());

    request.setRetryPolicy(new DefaultRetryPolicy(
            3000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    queue.add(request);
}

Я использовал rtfa и загрузил файлы cookie для передачи в качестве заголовка.

Обновление : я использовал URL-адрес входа для общей точки доступа для аутентификации Windows.для и после успеха я храню rfta и кормлю auth.куки для передачи токена в качестве заголовка, но я получаю ту же ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...