3

我正在尝试使用 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());
     }

    }
4

0 回答 0