2014-11-15 6 views
1

ударяя головой о стену с помощью API календаря Google. Мой календарь является общедоступным, с адресом:Дата, время и имя события API календаря Google для Javascript

[email protected] 

Я хочу получить доступ к 10 ближайших событий в будущем, и поставить их дату, время и название события на моей странице. Я пытаюсь получить доступ к этому следующим образом:

var url = 'http://www.google.com/calendar/feeds/[email protected]/public/full?orderby=starttime&sortorder=ascending&max-results=10&futureevents=true&alt=json' 

$.get(url, function(data){ 
    console.log(data); 
}); 

Это правильно обращается мои данные календаря, но по какой-то странной причине не позволяет мне получить доступ к дате и времени мои события, только название события.

Может ли кто-нибудь пролить свет на это? Настройки общего доступа к календарю полностью открыты.

ответ

2

Необходимо называть другую конечную точку. Я был успешно в состоянии сделать звонок и получить список обратно (в том числе имена событий, даты, и много других деталей

Например:.

{ 

    "kind": "calendar#event", 
    "etag": "\"2814404343670000\"", 
    "id": "bpgo6gtet1ao8j73kn770e6r20", 
    "status": "confirmed", 
    "htmlLink": "https://www.google.com/calendar/event?eid=YnBnbzZndGV0MWFvOGo3M2tuNzcwZTZyMjAgOXA3OXNsMmEzMXFncWZ2amtma3VwZGJmOG9AZw", 
    "created": "2014-08-04T06:25:51.000Z", 
    "updated": "2014-08-05T01:29:31.835Z", 
    "summary": "Startup leadership women", 
    "creator": { 
    "email": "[email protected]", 
    "displayName": "Sean Qian" 
    }, 
    "organizer": { 
    "email": "[email protected]", 
    "displayName": "Queens Collective Events", 
    "self": true 
    }, 
    "start": { 
    "dateTime": "2014-08-05T18:00:00+10:00" 
    }, 
    "end": { 
    "dateTime": "2014-08-05T21:00:00+10:00" 
    }, 
    "iCalUID": "[email protected]", 
    "sequence": 0, 
    "reminders": { 
    "useDefault": true 
    } 
    } ... 

Для того, чтобы сделать вызов, используйте следующая конечная точка:.

GET https://www.googleapis.com/calendar/v3/calendars/9p79sl2a31qgqfvjkfkupdbf8o%40group.calendar.google.com/events?key={YOUR_API_KEY} 

Pass, что GET URL в ваш вызов AJAX (очевидно коммутационного api_key с фактическим ключом)
Вы можете получить ключ API от: https://console.developers.google.com

Если у вас нет учетной записи API, я бы начал ее создавать и использовал API календаря Google. Это сделает вашу жизнь намного проще. Имейте в виду, вам, возможно, придется добавить ваш тестовый сервер (localhost?) К настройкам API Google, чтобы звонок вернулся успешно.

Если вам нужна помощь, дайте мне знать, я играл с Cal API совсем немного в последнее время ...

+0

Awesome! Спасибо, признайтесь, оцените. – Jascination

+0

Быстрое наблюдение, в моем первоначальном запросе я вернул 10 результатов в будущем, в порядке возрастания. В вашем запросе эти параметры больше не работают, он просто возвращает все события в любом порядке. Не можете увидеть информацию об ограничении результатов по ссылке API, какие-либо идеи? – Jascination

+0

Да, вам нужно передать параметр orderBy: время запуска, а также singleEvents = true. Просмотрите эту страницу: https://developers.google.com/google-apps/calendar/v3/reference/events/list – Alex

Смежные вопросы