2017-04-03 76 views
6

我正在嘗試使用Reddit API來保存帖子。我知道我格式化請求是錯誤的,但我似乎無法找到任何有關如何正確執行此操作的文檔。如果任何人能夠帶領我走向正確的方向,或者幫助我正確地格式化請求。這是我迄今爲止所擁有的。如何使用okhttp預製Reddit帖子

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); 

} 

我對使用API​​非常陌生,我不確定我在找什麼。這裏是鏈接到reddit的API用於保存

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

預先感謝您的幫助!

+0

你能提供logcat嗎? – sschrass

+0

您是要保存整篇文章還是隻保存鏈接或評論? – BlackHatSamurai

回答

4

根據該文件,它看起來像你的格式不正確POST主體。你需要讓你的身體看起來像:

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

它也像你缺少的​​頭。

Fullname docs

modhash docs

您還需要包括一個​​頭。文檔在這裏解釋。