1

これが私のコードです:

SpreadsheetService spreadsheet= new SpreadsheetService("v1");
    spreadsheet.setProtocolVersion(SpreadsheetService.Versions.V3);

    try {
        spreadsheet.setUserCredentials("username", "password");
        URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
        SpreadsheetFeed feed = spreadsheet.getFeed(metafeedUrl, SpreadsheetFeed.class);

        List<SpreadsheetEntry> spreadsheets = feed.getEntries();
        for (SpreadsheetEntry service : spreadsheets) {             
            System.out.println(service.getTitle().getPlainText());
       }
    } catch (AuthenticationException e) {           
        e.printStackTrace();
    }

しかし、うまくいかないようです。スプレッドシートのコンストラクターで常にクラッシュします。私はこれらのライブラリを使用しています:

  • gdata クライアント 1.0
  • gdata-client-meta-1.0
  • gdata-core-1.0
  • gdata-spreadsheet-3.0
  • gdata-spreadsheet-meta-3.0
  • グアバ-13.0.1

何が間違っている可能性があるのか​​ 誰か教えてもらえますか?

4

1 に答える 1

0

スプレッドシートのコンストラクターでクラッシュしますか? スプレッドシート サービスではありませんか? スプレッドシートのインスタンスはどこに作成されますか? たぶん舞台裏のどこかにあると思います。とにかく、あるコメンターが言ったように、logcat で確認してください。クラッシュしている場所がまったくわからない場合 (表示されるテキストの壁を読めばわかるはずです)、可能な限りどこでも logcat を投げてください。

static final String MESSAGE = "SPREADSHEET TEST MESSAGE:";
SpreadsheetService spreadsheet= new SpreadsheetService("v1");
Log.d(MESSAGE, "spreadsheet was created successfully.");
spreadsheet.setProtocolVersion(SpreadsheetService.Versions.V3);
Log.d(MESSAGE, "setProtocolVersion done successfully.");

try {
    spreadsheet.setUserCredentials("username", "password");
    Log.d(MESSAGE, "set credentials worked.");
    URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
    Log.d(MESSAGE, "metafeedUrl was created successfully.");
    SpreadsheetFeed feed = spreadsheet.getFeed(metafeedUrl, SpreadsheetFeed.class);
    Log.d(MESSAGE, "feed was created, too.");
    List<SpreadsheetEntry> spreadsheets = feed.getEntries();
    Log.d(MESSAGE, "spreadsheets List was created successfully.");
    for (SpreadsheetEntry service : spreadsheets) {             
        System.out.println(service.getTitle().getPlainText());
   }
   Log.d(MESSAGE, "The for-loop worked.");
} catch (AuthenticationException e) {           
    e.printStackTrace();
}

ばかげているように見えますが、機能したらすべてのメッセージを削除できます。私は通常、何が起こっているのか、聖なるすべての名前に手がかりがない場合にのみ、この種のことを行います。画面を見つめるだけよりも多くの結果が得られるはずです。

とにかく、どこが失敗したかを見て、そこからそれを見つけ出してください。詳しい情報が得られたら、より明確な質問をするかもしれません。

于 2013-07-10T21:53:07.957 に答える