Objeto Anonymous Uploading File para Imgur API (JSON) dá erro de autenticação 401

Eu criei uma aulaUploadToImgurTask como um AsyncTask que usa um único parâmetro de caminho de arquivo, cria e define um MultiPartEntity e, em seguida, usa o Apache HttpClient para carregar a imagem com essa entidade. A resposta JSON do Imgur é salva em um JSONObject, cujo conteúdo eu exibo no LogCat para meu próprio entendimento.

Aqui está uma captura de tela do JSON que recebo da Imgur:

Eu procurei o status de erro 401 em api.imgur.com e ele diz que preciso autenticar usando o OAuthapesar o fato de que a Imgur afirmou muito claramente que os aplicativos não precisam usar o OAuth se as imagens estiverem sendo carregadas anonimamente (que é o que estou fazendo agora).

class UploadToImgurTask extends AsyncTask<String, Void, Boolean> {
    String upload_to;

    @Override
    protected Boolean doInBackground(String... params) {
        final String upload_to = "https://api.imgur.com/3/upload.json";
        final String API_key = "API_KEY";
        final String TAG = "Awais";

        HttpClient httpClient = new DefaultHttpClient();
        HttpContext localContext = new BasicHttpContext();
        HttpPost httpPost = new HttpPost(upload_to);

        try {
            final MultipartEntity entity = new MultipartEntity(
                    HttpMultipartMode.BROWSER_COMPATIBLE);

            entity.addPart("image", new FileBody(new File(params[0])));
            entity.addPart("key", new StringBody(API_key));

            httpPost.setEntity(entity);

            final HttpResponse response = httpClient.execute(httpPost,
                    localContext);

            final String response_string = EntityUtils.toString(response
                    .getEntity());

            final JSONObject json = new JSONObject(response_string);

            Log.d("JSON", json.toString()); //for my own understanding 

            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
}

Depois que o doInBackground retorna o link para a imagem enviada para onPostExecute, eu quero copiá-lo para a área de transferência do sistema, mas o Eclipse continua dizendo que o getSystemService (String) não está definido dentro da minha classe ASyncTask.

Não há nenhuma maneira legítima de retornar o link (uma string) de volta ao thread principal, então eu tenho que fazer o que eu tenho que fazer dentro de onPostExecute dentro de UploadToImgurTask (que estende ASyncTask)

    @Override
protected void onPostExecute(String result) {
    super.onPostExecute(result);
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
    ClipData clip = ClipData.newPlainText("label", "Text to copy");
    clipboard.setPrimaryClip(clip);
}

O que está causando o problema?

questionAnswers(1)

yourAnswerToTheQuestion