как использовать таблицу API Google на эмуляторе Android - PullRequest
3 голосов
/ 07 сентября 2010

Я пытаюсь использовать API таблицы Google Spreadsheet для обновления ячейки листа. Я следовал руководству, пытался отправить запрос HttpPut, но не смог.

Я получил 200 ОК из следующего кода, но ничего не обновлялось в рабочей таблице ........ T.T

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

    }
...