【问题标题】:ServiceForbidden Exception while adding entry to google calendar向谷歌日历添加条目时出现 ServiceForbidden 异常
【发布时间】:2016-03-10 06:25:19
【问题描述】:

我正在尝试在 google 日历中添加一个条目,但出现服务禁止异常。这是一个具有标题、内容和日期范围的简单条目。下面提供代码sn-p;

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:请。如果问题被错误的标签条目标记,则忽略。

【问题讨论】:

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


    【解决方案1】:

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

    Events: insert 的文档

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

    更新:

    您的代码具有以下内容

    MAILID@gmail.com/PASSWORD/
    

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

    【讨论】:

    • 在您询问或离开并尝试让它工作之前?看不懂??
    • MAILID@gmail.com/PASSWORD/
    • 感谢您的回复!!!!那是crct,天真的问题:我对oauth/oauth2很陌生。 Hv 浏览了链接,我必须为每个需要标记日历条目的新用户 gmail ID 生成 JSON?
    • 我将在我的应用程序中设计一个简单的用户界面来获取邮件 ID/密码。但是如何生成这个过程进一步需要的 JSON 呢?!如果可能的话,你能提供更多的想法吗??!?。我占用了你太多的时间:-(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多