3

セルデータを取得するために、Androidアプリケーションを常に同じGoogleスプレッドシートに接続する必要があります(アプリケーションがサーバーを使用せずに更新されたデータを取得できるように、将来毎日変更します)。

ドキュメントhttps://developers.google.com/google-apps/spreadsheets/?hl=it#ListFeedsでは、認証方法などを示していますが、次のような直接リンクを使用して公開スプレッドシートに接続する必要があります。

https://docs.google.com/spreadsheet/ccc?key=xxx ....

それは可能ですか?

4

1 に答える 1

3

可能です。いくつかの例は、James Moore http://blog.restphone.com/2011/05/very-simple-google-spreadsheet-code.htmlのコードです。

スプレッドシートに手動で追加する必要があることに注意してください「ファイル->ウェブに公開」

package com.banshee;

    import java.io.IOException;
    import java.net.URL;

    import com.google.gdata.client.spreadsheet.SpreadsheetService;
    import com.google.gdata.data.spreadsheet.CustomElementCollection;
    import com.google.gdata.data.spreadsheet.ListEntry;
    import com.google.gdata.data.spreadsheet.ListFeed;
    import com.google.gdata.util.ServiceException;

    public class SpreadsheetSucker {
      public static void main(String[] args) {
        SpreadsheetService service = new SpreadsheetService("com.banshee");
        try {
          // Notice that the url ends
          // with default/public/values.
          // That wasn't obvious (at least to me)
          // from the documentation.
          String urlString = "https://spreadsheets.google.com/feeds/list/0AsaDhyyXNaFSdDJ2VUxtVGVWN1Yza1loU1RPVVU3OFE/default/public/values";

          // turn the string into a URL
          URL url = new URL(urlString);

          // You could substitute a cell feed here in place of
          // the list feed
          ListFeed feed = service.getFeed(url, ListFeed.class);

          for (ListEntry entry : feed.getEntries()) {
            CustomElementCollection elements = entry.getCustomElements();
            String name = elements.getValue("name");
            System.out.println(name);
            String number = elements.getValue("Number");
            System.out.println(number);
          }
        } catch (IOException e) {
          e.printStackTrace();
        } catch (ServiceException e) {
          e.printStackTrace();
        }

      }
    }
于 2013-08-05T06:19:12.347 に答える