Android中的Post方法中缺少授权类型

时间:2018-12-04 04:28:42

标签: android json api postman

使用crc32_combine()方法时,在Android中,我的Post丢失了

我想从我的post方法中获取acess_token,但是它显示缺少grant_type,因为在主体中,我的grant_type是client_credentials,因此我该如何在我的url中添加grant_type,以便授予access_token权限

grant type

我的 Request originalRequest = chain.request(); String credentials = authUserName + ":" + authPassword; final String basic =Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); Request newRequest = chain.request().newBuilder().addHeader("Authorization","Basic " + basic).build(); return chain.proceed(newRequest);

apiInterface

}

我的日志报告

@POST("token")
Call<ResponseBody> getToken();

邮递员张贴方法屏幕截图

enter image description here

enter image description here

我如何在代码中授予类型?

2 个答案:

答案 0 :(得分:0)

您到底想做什么?从代码看来,您正在使用OAuth2在应用程序内部进行身份验证 因此,在发送请求之前,请张贴最后形成的完整网址。 使用OAuth2时,在身份验证服务器中注册应用程序时,需要将已配置的参数grant_typeredirect URL传递到服务器中。授权类型可以具有codeimplicit之类的可能值 祝你好运

答案 1 :(得分:0)

 String credentials = authUserName + ":" + authPassword;
                    final String basic = Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);
                    RequestBody body = RequestBody.create(MediaType.parse("application/x-www-form-urlencoded"), "grant_type=client_credentials");
                    Request newRequest = chain
                            .request()
                            .newBuilder()
                            .addHeader(HTTP_AUTH_HEADER, "Basic  " + basic)
                            .addHeader("Content_Type", "application/x-www-form-urlencoded")
                            .post(body).build();