获取带有国家法定假日谷歌日历列表的JSON

Vit*_*iro 4 javascript google-calendar-api google-api

如何使用javascript或jquery 使用Google日历获取所选国家/地区的假日列表?

这是可能的?有什么建议吗?

我正在使用Google Calendar API V3并使用javascript.我在android中找到了一些例子,但我对android一无所知.

rph*_*phv 7

这是一个简单的示例,其中包含一些公共假期日历:

$("#selectCountry").change(function(e) {
  $("#output").html("Loading...");
  var country = $("#selectCountry").val();
  var calendarUrl = 'https://www.googleapis.com/calendar/v3/calendars/en.' + country 
                  + '%23holiday%40group.v.calendar.google.com/events?key=<yourAPIKey>';

  $.getJSON(calendarUrl)
    .success(function(data) {
    	console.log(data);
      $("#output").empty();
      for (item in data.items) {
        $("#output").append(
          "<hr><h3>" + data.items[item].summary + "<h3>" +
          "<h4>" + data.items[item].start.date + "<h4>"
        );
      }
    })
    .error(function(error) {
      $("#output").html("An error occurred.");
    })
});
$("#selectCountry").trigger("change");
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<body>
  <select id="selectCountry">
    <option value="usa">USA</option>
    <option value="uk">UK</option>
    <option value="bm">Bermuda</option>
    <option value="swedish">Sweden</option>
  </select>
  <pre id="output"></pre>
  <script type="text/javascript">
  </script>
</body>
Run Code Online (Sandbox Code Playgroud)

此策略根据下拉菜单中选择的选项构建日历的URL.它从原始JSON响应中解析假日名称和信息,该响应包含在回调函数的data参数中$.getJSON.

  • 是的,2014年11月[V2界面已弃用](https://developers.google.com/gdata/samples/cal_sample),我的原始答案使用了该界面.我已经更新了使用V3界面的答案,但请注意,这需要您使用[答案中详述的API密钥](http://stackoverflow.com/a/27213635/1612562).只需使用有效的浏览器API密钥替换上面代码中的`<yourAPIKey>`. (2认同)