我正在尝试使用 Google Spreadsheet api 来更新工作表的单元格。我按照指南,尝试发送一个 HttpPut 请求来做到这一点,但失败了。
我从以下代码中得到了 200 OK,但工作表中没有任何更新........TT
String cellUri = "https://spreadsheets.google.com/feeds/cells/tD0jOr1kFs6yHag573hB0YA/od6/private/full/R2C2";
HttpPut httpput = new HttpPut(cellUri);
httpput.addHeader( new BasicHeader("Content-Type", "application/atom+xml"));
httpput.addHeader( new BasicHeader("GData-Version", "3.0"));
httpput.addHeader( new BasicHeader("If-Match", "*"));
String reqBody="<entry xmlns=\"http://www.w3.org/2005/Atom\" xmlns:gs=\"http://schemas.google.com/spreadsheets/2006\">" +
"<id>https://spreadsheets.google.com/feeds/cells/tD0jOr1kFs6yHag573hB0YA/od6/private/full/R2C2</id>" +
"<link rel=\"edit\" type=\"application/atom+xml\" href=\"https://spreadsheets.google.com/feeds/cells/tD0jOr1kFs6yHag573hB0YA/od6/private/full/R2C2/a115r\"/>" +
"<gs:cell row=\"2\" col=\"2\" inputValue='99999'/>" +
"</entry>";
try
{
httpput.setEntity( new StringEntity(reqBody));
HttpResponse updateCellResponse = new DefaultHttpClient().execute(httpput);
if( updateCellResponse.getStatusLine().getStatusCode() != 200)
Log.i("html2", "sl : " + updateCellResponse.getStatusLine());
//display toast notification
Toast _toast = Toast.makeText(getApplicationContext(), updateCellResponse.getStatusLine().toString() , Toast.LENGTH_SHORT);
_toast.show();
}
catch(ClientProtocolException e )
{
Log.i("html2", e.getMessage().toString());
}
catch(IOException e )
{
Log.i("html2", e.getMessage().toString());
}
}