添加条目到谷歌日历时的ServiceForbidden异常

时间:2016-03-10 06:25:20

标签: calendar google-api google-calendar-api google-api-client android-calendar

我正在尝试在Google日历中添加一个条目但是获取服务禁止例外。它是一个简单的条目,具有标题,内容和日期范围。下面提供了代码段;

public void temp() {
URL postURL = null;
try {
    postURL = new URL("http://www.google.com/calendar/feeds/MAILID@gmail.com/PASSWORD/full");
    EventEntry eventEntry = new EventEntry();
    eventEntry.setTitle(new PlainTextConstruct("One"));
    eventEntry.setContent(new PlainTextConstruct("Two"));

    When eventTime = new When();
    eventTime.setStartTime(DateTime.parseDateTime("2016-03-09T15:00:00-08:00"));
    eventTime.setEndTime(DateTime.parseDateTime("2016-03-09T15:00:00-08:00"));
    eventEntry.addTime(eventTime);

    CalendarService calendarService = new CalendarService("Savor");
    EventEntry createdEvent = calendarService.insert(postURL, eventEntry);
} catch (Exception e) {
    e.printStackTrace();
}

}

执行此操作时,我收到以下提供的ServiceForbidden异常[请忽略异常中显示的行号]

    com.google.gdata.util.ServiceForbiddenException: Forbidden
<HTML>
<HEAD>
<TITLE>Forbidden</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Forbidden</H1>
<H2>Error 403</H2>
</BODY>
</HTML>

    at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:605)
    at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)
    at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)
    at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
    at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
    at com.google.gdata.client.Service.insert(Service.java:1409)
    at com.google.gdata.client.GoogleService.insert(GoogleService.java:613)
    at GCalender.temp(GCalender.java:68)
    at GCalender.main(GCalender.java:85)

此行发生异常:EventEntry createdEvent = calendarService.insert(postURL,eventEntry);

试图解决这个问题,但此时却有些困难。如果有人已经遇到过这个,请提供您的意见,这将是一个很大的帮助..

谢谢!

PS:请。如果问题标记的标签条目不正确,请忽略。

1 个答案:

答案 0 :(得分:0)

您使用的是Google Calendar API v2,Shut down.您需要切换到Google Calendar v3

Events: insert

的文档
event = service.events().insert(calendarId, event).execute();

<强>更新

您的代码包含以下内容

MAILID@gmail.com/PASSWORD/

您还需要注意,使用登录名和密码访问Google API不再有效。客户端登录也被关闭。您需要使用Oauth2验证您的应用程序。