Получение 401 несанкционированного доступа при вызове API Документов Google с использованием SignPost из Android

Я могу успешно вызвать GET и получить списки документов и электронных таблиц из API списка документов Google и API электронных таблиц, используя OAuth с SignPost в Android. Тем не менее, я потратил часы, пытаясь сделать успешный вызов POST и продолжаю получать 401. Буду признателен за любые подсказки или комментарии. Спасибо

Вот код:

//I get the secret and token successfully  
CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(C.OAuth.CONSUMER_KEY,         C.OAuth.CONSUMER_SECRET);
consumer.setMessageSigner(new HmacSha1MessageSigner());  
consumer.setTokenWithSecret(token, secret);

//Set the Docs Uri  
String url = consumer.sign("https://docs.google.com/feeds/default/private/full"); 

HttpPost post = new HttpPost(url);

//Add headers          
post.addHeader("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");  
post.addHeader("Host","docs.google.com");  
post.addHeader("Accept","*/*");  
post.addHeader("Content-Type","application/atom+xml");  
post.addHeader("GData-Version","3.0");  

//Create and add post body        
String reqBody="<?xml version='1.0' encoding='UTF-8'?>"+
"<entry xmlns=\"http://www.w3.org/2005/Atom\">"+
"<category scheme=\"http://schemas.google.com/g/2005#kind\" term=\"http://schemas.google.com/docs/2007#document\"/>"+
"<title>new document</title>"+
"</entry>";        

StringEntity se = new StringEntity(reqBody,"UTF-8");  
post.setEntity(se);  

//Create and execute the Client  
HttpClient client = new DefaultHttpClient();  
HttpResponse response =  client.execute(post);

-->401 Неавторизованный


person raminl    schedule 31.10.2010    source источник
comment
Я также получаю ошибку 401 при получении содержимого электронной таблицы. Документы/чертежи/и т. д. документы работают нормально.   -  person Pointer Null    schedule 30.04.2012


Ответы (1)


OAuth 1 требует, чтобы тела POST также были подписаны.

person DavidPhillipOster    schedule 16.08.2011