标签: google-calendar-api

Google Calendar的EventQuery无法检索正确的条目

我正在尝试使用Google的.NET Calendar API 检索南非公众假期.

我有以下问题:

  1. 某些检索到的数据超出了指定EventQuery范围.(在给定日期范围之前和之后)
  2. 某些日历条目丢失.其中一个是2011-12-25圣诞节

我通过在线查看确认了这个特定的公共日历具有正确的日期.

我最好的猜测是我错误地使用了API,并且我正在查询日历条目的创建/更新日期而不是事件日期.

码:

var feedUrl = "http://www.google.com/calendar/feeds/en.sa%23holiday%40group.v.calendar.google.com/public/full";
var service = new CalendarService("My application name");

var qry       = new EventQuery(feedUrl);
qry.StartDate = new DateTime(2011, 1, 1);
qry.EndDate   = new DateTime(2012, 1, 1);

EventFeed results = service.Query(qry);

foreach (EventEntry entry in results.Entries)
{
    if (entry.Times.Count == 0)  
       continue;

    // Using entry.Times[0].StartTime results in 
    // missing data and data outside of the given search criteria.
}
Run Code Online (Sandbox Code Playgroud)

我使用的是最新的Google .NET Data …

.net google-calendar-api gdata-api

1
推荐指数
1
解决办法
1030
查看次数

如何通过相同的谷歌帐户在同一个应用程序中使用谷歌服务时,每次都禁止提示"允许访问"

我正在使用OAuth 2.0 Google API进行Google日历服务身份验证.每次用户登录应用程序时,即使用户已允许访问先前对应用程序的访问,也会提示允许访问.

我如何对其进行编码,以便它记住过去允许用户访问的应用程序和用户,因此不要再为同一个应用程序提示"允许访问".

php google-calendar-api oauth-2.0

1
推荐指数
1
解决办法
2994
查看次数

如何使用v3 API和JQuery将事件添加到Google日历?

我试图通过整理一个执行以下操作的简单页面来自学一些JQuery/REST/Google API:

  1. 通过Google验证
  2. 验证令牌
  3. 获取用户的Google日历列表
  4. 列出所选日历的事件
  5. 为选定日历添加活动

我有#1到#4的工作(虽然毫无疑问是一种丑陋的方式),并且在#5上被绊倒了.这是JQuery ajax调用:

var url = 'https://www.googleapis.com/calendar/v3/calendars/[MY_CALENDAR_ID]/events?sendNotifications=false&access_token=[GOOGLE_API_TOKEN]';
            var data = { end: { dateTime: "2012-07-22T11:30:00-07:00" }
                            , start: { dateTime: "2012-07-22T11:00:00-07:00" }
                            , summary: "New Calendar Event from API"
                        };

            var ajax = $.ajax({ url: url
                                , data: data
                                , type: 'POST'
                        }).done(addEventDone)
                          .fail(function (jqHXR, textStatus) {
                              console.log("addEvent(): ajax failed = " + jqHXR.responseText);
                              console.log(jqHXR);
                          });
Run Code Online (Sandbox Code Playgroud)

结果是全局parseError:"此API不支持解析表单编码输入." 前四个步骤都是使用GET ajax调用,所以我不确定这是不是在绊倒我.

以下是相关API:https://developers.google.com/google-apps/calendar/v3/reference/events/insert

我想我可能会做很长很难的事情,我的新方法是使用javascript API解决这个问题,而不是直接使用手动JQuery和REST.这是我尝试前进的方法http://code.google.com/p/google-api-javascript-client/wiki/Samples#Calendar_API,尽管我仍然希望将此作为学习机会,如果有的话简单的事我在上面的代码中搞砸了.

感谢您提供任何帮助,见解,指示等.如果我使用javascript API取得任何进展,我会发布更新.

javascript jquery google-calendar-api

1
推荐指数
1
解决办法
3万
查看次数

没有<html>开启标签,它有什么意义吗?

在任何其他情况下,我会说这是一个错误,但在谷歌的情况下,我可能是错的?

如果您只是在https://www.google.com/calendar/render上打开主页,经过身份验证后,查看其来源,您会惊奇地看到

<!DOCTYPE HTML><head><title>Google Calendar</title><meta ....
Run Code Online (Sandbox Code Playgroud)

它有意义吗?我希望不会,或者相反,我应该再次开始参加HTML课程:)

应该是吗?

<!DOCTYPE HTML><html><head><title>Google Calendar</title><meta ....
Run Code Online (Sandbox Code Playgroud)

对于HTML5开标签?

谢谢!

html tags html5 google-calendar-api

1
推荐指数
1
解决办法
80
查看次数

完整日历Google活动的开始/结束格式

我使用完整日历在网页上显示一些Google日历.当用户将鼠标悬停在日历上的事件上时,我添加了qTip,以显示完整的事件详细信息(位置,描述等).我希望qTip显示事件的开始/结束时间,格式为:

日期,日期月,开始时间 - 结束时间

与24小时制的时间.

如果我添加event.start和event.end我qTip,然后出现在开始和结束时间,而不是格式正确无误.我想我需要使用formatdate函数,但我无法弄清楚如何.有人可以帮忙吗?我粘贴了下面的代码.

<script type='text/javascript'>                     

$(document).ready(function() {
$('#calendar').fullCalendar({
       eventRender: function(event, element) {
        element.qtip({
            content: '<b>' + event.title + event.start +' - ' + event.end + '</b><br><br>LOCATION: ' + event.location + '<br><br> AVAILABILITY: ' + event.description
        })
    },
    eventSources: { 
    url: 'my calendar URL'
    }
});
});
</script>
Run Code Online (Sandbox Code Playgroud)

google-calendar-api fullcalendar

1
推荐指数
1
解决办法
1万
查看次数

无法在Ruby中迭代Time对象

我正在写一个约会表格,让用户选择一个日期.然后,它将按照日期检查Google日历,在上午10:00到下午5:00之间的30分钟时间间隔内查看该日期的可用时段.

在我的Calendar类中,我有一个available_times方法:

def available_times(appointment_date)
    appointment_date_events = calendar.events.select { |event| Date.parse(event.start_time) == appointment_date } 

    conflicts = appointment_date_events.map { |event| [Time.parse(event.start_time), Time.parse(event.end_time)] }
    results = resolve_time_conflicts(conflicts) 
end
Run Code Online (Sandbox Code Playgroud)

此方法需要一个日期和抓住start_timeend_time在该日期每个事件.然后它调用resolve_time_conflicts(conflicts):

def resolve_time_conflicts(conflicts)
    start_time = Time.parse('10:00am') 
    available_times = [] 
    14.times do |interval_multiple|
      appointment_time = (start_time + interval_multiple * (30 * 60))  
      available_times << appointment_time unless conflicts.each{ |conflict| (conflict[0]..conflict[1]).include?(appointment_time)}  
    end
      available_times 
end
Run Code Online (Sandbox Code Playgroud)

当我尝试迭代冲突数组时,会抛出'无法迭代时间'错误.我试图调用to_enum冲突数组但仍然得到相同的错误.

我在SO上看到的所有其他问题都是引用该step方法,这似乎不适用于这种情况.

更新:

Thanks @caryswoveland and @fivedigit. I combined both of your …
Run Code Online (Sandbox Code Playgroud)

ruby time google-calendar-api

1
推荐指数
2
解决办法
1400
查看次数

Google Calendar API(Java) - 创建Google日历活动时的时间格式无效

我正在使用Java Google API客户端,而我正在尝试创建Google日历事件.我的身份验证和日历服务初始化工作正常(我可以登录并获取我的日历事件).创建事件时会发生此问题.这是我的代码:

    Event event = new Event();

    event.setSummary( title );

    event.setStart( new EventDateTime().setDate( new DateTime( new Date() ) ) );
    event.setEnd( new EventDateTime().setDate( new DateTime( new Date() ) ) );

    return _calendarService.events().insert( GOOGLE_CALENDAR_ID, event ).execute();
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

com.google.api.client.googleapis.json.GoogleJsonResponseException:400错误请求{"code":400,"errors":[{"domain":"global","message":"无效值:\"T \"发现,只能解析裸日期字符串:2014-10-10T15:58:06.165 + 03:00","原因":"无效"}],"消息":"无效值:\"T \"发现,只能解析裸日期字符串:2014-10-10T15:58:06.165 + 03:00"}

我在这里做错了什么想法?

java google-calendar-api

1
推荐指数
1
解决办法
2376
查看次数

为有权访问的人嵌入可编辑的Google日历

当我尝试嵌入<iframe>日历时,即使我拥有编辑权限,我也会获得仅打印只读日历的标签.

我是否需要在其中添加任何其他参数<iframe>才能启用此功能?

javascript calendar google-calendar-api

1
推荐指数
1
解决办法
2245
查看次数

谷歌日历时间未显示正确的开始和结束时间

我正在构建(以编程方式)创建Google日历链接的链接。我发现当我通过以下格式的日期时

....&dates=20151005T170000Z/20151007T190000Z&....

我希望它显示5:00 PM到7:00 PM,而显示1:00 PM到3:00 PM

这里是完整的链接:

` https://www.google.com/calendar/render?action=TEMPLATE&text=The+Annual+%20Event&dates=20151005T170000Z/20151007T190000Z&sprop=website:turnaround.org&location=Fairmont+Scottsdale+Princess+7575+East+Princess+Drive+Scottsdale ,+ AZ + United + States&details&website = https://example.com&pli=1&sf=true&output=xml#eventpage_6 '

我唯一的想法是这是一个时区问题,但是在URL的任何地方都看不到。

google-calendar-api

1
推荐指数
1
解决办法
494
查看次数

Node.js。忙查询中缺少timeMin参数。Google Calendar API

我正在尝试在Node.js中使用google-api-nodejs-client。我timeMinfreebusy查询中的参数格式有问题。根据docs,值应为ISO格式的timedate。我试过了,但出现错误。在该event.list方法中,ISO格式字符串可以正常工作。

查询freebusy代码:

function freeBusyStatus (auth, calendarId) {
    const startDate = new Date('20 February 2018 12:00').toISOString()
    const endDate = new Date('20 February 2018 13:00').toISOString()
    const check = {
        auth: auth,
        // timeMin: '2018-02-20T12:00:00+03:00', //not working with same format too
        timeMin: new Date('20 February 2018 12:00'),
        timeMax: endDate,
        items: [{id: calendarId}]
    }
    calendar.freebusy.query (check, function (err, response) {
        if (err) {
            console.log ('error: ' + err)
        } else {
            ..some code..
        } …
Run Code Online (Sandbox Code Playgroud)

javascript google-calendar-api google-api-nodejs-client

1
推荐指数
1
解决办法
475
查看次数