Google Agenda e JavaEE

5 respostas
M

Olá queridos!

Estou fazendo uma aplicação Web com Java EE, e esse sistema consiste em fazer agendamentos.
Vi que é possível integrar o Google Agenda no HTML, já fiz isso e consigo visualizar certinho, mas tenho dois problemas:

1)Como faço o agendamento pelo próprio site? Não quero entrar no Google Agenda para realizar o agendamento, gostaria de fazer pela própria página onde tem a minha agenda… Não sei se estão me entendendo.

2)Os dados do agendamento seriam salvos em um BD também, mas não encontrei nenhum exemplo disso na internet, inclusive olhei na API do Google Agenda, mas não vi nada.

Não sei nem se é possível fazer isso tudo rs rs rs.

Obrigadinha!

bjos!

5 Respostas

A

existe um framework do google para integrar java com seus serviços, da uma olhada nela, la deve ter o que vc quer.

t+

O

Google geralmente disponibiliza diversas apis para integração para seus serviços, dá uma procurada acredito que já exista para o calendar também.

M

Olá! Então, vi a do Calendar, então comecei a construir um exemplo bem simples, só para a visualização mesmo, mas estou com problemas..

Uso a IDE NetBeans, com o plugin e com o GWT instalados, e também o gdata, conforme diz na api.

Criei um projeto do GWT, mas os imports do gdata não funcionam, diz:"importação não utilizada" -fica sublinhado de vermelho-

o código:
import com.google.gwt.accounts.client.AuthSubStatus;
import com.google.gwt.accounts.client.User;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
import com.google.gwt.gdata.client.GData;
import com.google.gwt.gdata.client.GDataSystemPackage;
import com.google.gwt.gdata.client.calendar.CalendarEntry;
import com.google.gwt.gdata.client.calendar.CalendarEventEntry;
import com.google.gwt.gdata.client.calendar.CalendarEventEntryCallback;
import com.google.gwt.gdata.client.calendar.CalendarEventFeed;
import com.google.gwt.gdata.client.calendar.CalendarEventFeedCallback;
import com.google.gwt.gdata.client.impl.CallErrorException;
import com.google.gwt.gdata.client.impl.Callback;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Frame;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.datepicker.client.DatePicker;


public class GoogleCalendarTeste implements EntryPoint {

    private static final String CAL_PUBLIC_URL = "https://www.google.com/calendar/embed?src=1sa7rebe7jv2rsnogre3v9sel4%40group.calendar.google.com&ctz=America/Boa_Vista";
    private Frame googleCalendar = new Frame(CAL_PUBLIC_URL);
    
        	public void onModuleLoad() {
                     googleCalendar.setWidth("500px");
                     googleCalendar.setHeight("500px");
                     RootPanel.get().add(googleCalendar);
                }
}

o erro que dá é:

oading inherited module 'com.google.gwt.gdata.GData'
   [ERROR] Unable to find 'com/google/gwt/gdata/GData.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
[ERROR] Line 7: Unexpected exception while processing element 'inherits'
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
	at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:278)
	at com.google.gwt.dev.cfg.ModuleDefSchema$BodySchema.__inherits_begin(ModuleDefSchema.java:495)
	at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:230)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:294)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:788)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:347)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$200(ReflectiveParser.java:68)
	at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:418)
	at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:296)
	at com.google.gwt.dev.cfg.ModuleDefLoader$1.load(ModuleDefLoader.java:198)
	at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:324)
	at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(ModuleDefLoader.java:156)
	at com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:166)
	at com.google.gwt.dev.GWTCompiler$1.run(GWTCompiler.java:135)
	at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
	at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
	at com.google.gwt.dev.GWTCompiler.main(GWTCompiler.java:142)
[ERROR] Failure while parsing XML
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
	at com.google.gwt.dev.util.xml.DefaultSchema.onHandlerException(DefaultSchema.java:58)
	at com.google.gwt.dev.util.xml.Schema.onHandlerException(Schema.java:66)
	at com.google.gwt.dev.util.xml.Schema.onHandlerException(Schema.java:66)
	at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:240)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:294)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:788)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:347)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$200(ReflectiveParser.java:68)
	at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:418)
	at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:296)
	at com.google.gwt.dev.cfg.ModuleDefLoader$1.load(ModuleDefLoader.java:198)
	at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:324)
	at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(ModuleDefLoader.java:156)
	at com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:166)
	at com.google.gwt.dev.GWTCompiler$1.run(GWTCompiler.java:135)
	at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
	at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
	at com.google.gwt.dev.GWTCompiler.main(GWTCompiler.java:142)
[ERROR] Unexpected error while processing XML
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:371)
	at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$200(ReflectiveParser.java:68)
	at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:418)
	at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:296)
	at com.google.gwt.dev.cfg.ModuleDefLoader$1.load(ModuleDefLoader.java:198)
	at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:324)
	at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(ModuleDefLoader.java:156)
	at com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:166)
	at com.google.gwt.dev.GWTCompiler$1.run(GWTCompiler.java:135)
	at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
	at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
	at com.google.gwt.dev.GWTCompiler.main(GWTCompiler.java:142)

Se puderem me dar uma ajudinha

EDIT: Acho que o problema está em que não consigo instalar o GData,

Update ant build configuration to point to right path for dependency jars.
1. Unpack gdata-src.zip package to local folder.
2. Edit the following lines in "gdata/java/build-src/build.properties"
to point to correct path for dependency jar files
activation.jar=
mail.jar=
servlet.jar=
3. To recompile source files, execute the ant build target
"ant -f build-src.xml" from folder "gdata/java".

M

Bom dia, consegui, estava faltando adicoona o .jar no projeto.
Depois posto como ficou.

Obrigada.

M

Então, surgiu outro problema:

Quando executo a aplicação vem a tela do google e informa:

Se você conceder o acesso, poderá revogá-lo a qualquer momento em "Minha conta". localhost não terá acesso à sua senha nem a qualquer informação pessoal da sua Conta do Google. Saiba mais

Este site está registrado no Google para fazer solicitações de autorização, mas não foi configurado para enviar solicitações de modo seguro. Recomendamos que você continue o processo somente se confiar no seguinte endereço:

http://localhost:8080/projeto/

Logo tem as opções de "conceder" e "negar acesso" mas se eu clicar em conceder ele volta para esta mesma tela, fico presa num laço infinito rs rs
Estou usando o AuthSub, aqui estão as linhas do código:

private void doAuthSubLogin() {
		AuthSubStatus status = User.getStatus(calendarUrl);
		if (status != AuthSubStatus.LOGGED_IN) {
			User.login(calendarUrl);
		}
	}
	
	public void startApp(){
		doAuthSubLogin();
	}
	
	public void loadModule(){
		doAuthSubLogin();
		
	    if (User.getStatus() == AuthSubStatus.LOGGING_IN) return;
		HorizontalPanel controlsPanel = new HorizontalPanel(); 
		googleCalendar.setWidth("500px");
		googleCalendar.setHeight("500px");
		controlsPanel.add(googleCalendar);
		controlsPanel.add(createNewEventPanel());
		controlsPanel.add(createEventEditPanel());
		controlsPanel.setSpacing(10);
	
		VerticalPanel vp = new VerticalPanel();
		vp.add(controlsPanel);
		vp.add(eventsDisplayTable);
		
		updateCalendarView();
		RootPanel.get().add(vp);
	}
Criado 10 de outubro de 2011
Ultima resposta 15 de out. de 2011
Respostas 5
Participantes 3