Невозможно запустить API Google gdata для Google Документов - PullRequest
2 голосов
/ 23 февраля 2012

Я был так разочарован Google API. Каждый раз, когда я пытаюсь, это просто не работает даже после сбора тонн банок отсюда и там. Буду очень признателен, если кто-нибудь сможет мне помочь с приведенным ниже фрагментом кода ->

import java.net.URL;
import com.google.gdata.client.docs.DocsService;
import com.google.gdata.data.docs.DocumentListEntry;
import com.google.gdata.data.docs.DocumentListFeed;


public class TestGoogleDocs {

    public static void main(String[] args) {
        try {
            System.err.println("== Testing Google Docs ==");
            DocsService docService = new DocsService("Document list");
            docService.setUserCredentials("*****@gmail.com", "******");

            URL documentFeedURL = new URL("http://docs.google.com/feeds/documents/private/full");

            DocumentListFeed docsFeed = docService.getFeed(documentFeedURL, DocumentListFeed.class);

            for(DocumentListEntry entry: docsFeed.getEntries()){
                System.err.println(entry.getTitle().getPlainText());
            }
        }  catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

Я добавил следующие jar-файлы в classpath:

gdata-client-1.0.jar
gdata-client-meta-1.0.jar
gdata-core-1.0.jar
gdata-media-1.0.jar
gdata-docs-3.0.jar
gdata-docs-meta-3.0.jar

activation.jar
mail.jar
servlet-api.jar

guava-r09.jar

Ошибка, которую я получаю:

com.google.gdata.util.ResourceNotFoundException: Not Found
<HTML>
<HEAD>
<TITLE>Not Found</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Not Found</H1>
<H2>Error 404</H2>
</BODY>
</HTML>

    at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:591)
    at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:563)
    at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:552)
    at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:530)
    at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:535)
    at com.google.gdata.client.Service.getFeed(Service.java:1135)
    at com.google.gdata.client.Service.getFeed(Service.java:998)
    at com.google.gdata.client.GoogleService.getFeed(GoogleService.java:631)
    at com.google.gdata.client.Service.getFeed(Service.java:1017)
    at com.javainsight.cloud.TestGoogleDocs.main(TestGoogleDocs.java:21)

Ответы [ 3 ]

3 голосов
/ 25 февраля 2012

Я думаю, что проблема заключается в URL-адресе - подробности см. Ниже.

Я думаю, что лучше начать с примера кода в gdata/java/sample/docs и взять классы исключений DocumentList и DocumentList из примера.

Если вы сделаете так, приведенный выше пример сократится до:

import com.google.gdata.data.docs.DocumentListEntry;
import com.google.gdata.data.docs.DocumentListFeed;

public class Example {

static public void main(String[] args) throws Exception {
    DocumentList docList = new DocumentList("document");
    docList.login("********@gmail.com", "********");
    DocumentListFeed feed = docList.getDocsListFeed("all");
    for (final DocumentListEntry entry : feed.getEntries()) {
       System.out.println(entry.getTitle().getPlainText());
    }
    }
}   

Этот пример работал для меня (с JAR-файлом gu09 r09).

Трассировка этого примера предполагает, что сгенерированный URL-адрес

"https://docs.google.com/feeds/default/private/full"
0 голосов
/ 15 апреля 2013

Я хотел бы добавить одну заметку для тех, у кого могла быть та же проблема, что и у меня:

Веб-адрес был просто в порядке, но я использовал guava-11.0.1, пробовал guava-11.0.2, пробовал guava-14, и ни один из них не работал. Увидев это, я вместо этого использовал guava-r09, и он отлично работал.

0 голосов
/ 25 февраля 2012

Да, я тоже так далеко.Интересно, связана ли эта проблема с библиотекой Guava - я пробовал Guava 11, но они выполнили вызов ImmutableSet.of (Object [] objs) в октябре 2011 года, после текущего выпуска gdata (сентябрь 2011).

Моим первым подозрением будет URL ... это то, что я сейчас пытаюсь.

...