Cómo preformar un mensaje Reddit con okhttp

Estoy intentando utilizar la API de Reddit para guardar una publicación. Sé que estoy formateando la solicitud incorrecta, pero no puedo encontrar ninguna documentación sobre cómo hacerlo correctamente. Si alguien me puede llevar en la dirección correcta, o ayudarme a formatear la solicitud correctamente. Esto es lo que tengo hasta ahora.

public void save(View v) { OkHttpClient client = new OkHttpClient(); String authString = MainActivity.CLIENT_ID + ":"; String encodedAuthString = Base64.encodeToString(authString.getBytes(), Base64.NO_WRAP); System.out.println("myaccesstoken is: "+ myaccesstoken); System.out.println("the image id is: "+ myimageid); Request request = new Request.Builder() .addHeader("User-Agent", "Sample App") .addHeader("Authorization", "Bearer " + myaccesstoken) .addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") .url("https://oauth.reddit.com/api/save.json?") .post(RequestBody.create(MediaType.parse("application/x-www-form-urlencoded"), ""+ myimageid + "1")) .build(); client.newCall(request); } 

Soy muy muy nuevo a usar APIs y no estoy seguro exactamente lo que estoy buscando. Aquí está el enlace a la API reddit para guardar

Https://www.reddit.com/dev/api/oauth#POST_api_save

¡¡¡Gracias de antemano por cualquier ayuda!!!

De acuerdo con la documentación, parece que está formateando al cuerpo de POST incorrectamente. Necesitas hacer que tu cuerpo parezca:

 { "category" : "your category" //This could something like "science" "id" : "fullname of thing" } 

También parece que le falta la cabecera de X-Modhash .

Documentos completos

Modhash docs

También tendrá que incluir un encabezado X-Modhash . La documentación lo explica aquí.

¿Has intentado mirar el wiki okhttp?

https://github.com/square/okhttp/wiki/Recipes

Parece que estás en el camino correcto, pero probablemente necesitas llamar a ejecutar para obtener la respuesta.

Response response = client.newCall(request).execute();

También asegúrese de no hacerlo en el hilo principal.

Personalmente, me gusta usar retroalimentación en lugar de usar okhttp directamente.

https://square.github.io/retrofit/

  • No se pueden agregar detalles del producto mientras se crea una nueva cotización
  • Cómo pasar cadena en 'Body' Parámetro de Retrofit 2 en android
  • Enviar formulario con datos POST en la aplicación para Android
  • Enviar array php con POST android
  • Cambiar la solicitud de publicación HTTP a HTTPS:
  • Volley - solicitud de http en bloqueo
  • Android httpPost con parámetros y archivo
  • ¿Cómo enviar la solicitud POST en JSON usando HTTPClient en Android?
  • Enviar cookies con http post android
  • Transferencia de JSON al servidor en la solicitud de correo
  • ¿Cómo puedo escribir una declaración posterior a una HttpUrlConnection que está comprimida?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.