Google Calendar API忙JQuery $ .post收到400(错误请求)错误

赤井

我是javascript,JQuery和Google API的新手,所以这个问题的答案可能是我忽略的非常简单的事情。我已经检查了该网站上所有可用的Google日历忙碌问题,但无法以任何方式使其答案适合我的代码。

我正在尝试为html页面编写脚本,以检查公共日历的忙查询。Google说HTTP请求应该是

POST https://www.googleapis.com/calendar/v3/freeBusy

具有一个请求主体

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}

我当前的html页面包括最新的jquery库和我正在编写的脚本。在页面上调用脚本会导致Failed to load resource: the server responded with a status of 400 (Bad Request)错误。进一步挖掘错误信息将返回一个解析错误,其中包含"This API does not support parsing form-encoded input."

我的脚本如下所示:

(function ($) {
  $.GoogleCalendarFreebusy = function (options) {
    var defaults = {
      apiKey: '[projectkey]',
      getID: '[id]@group.calendar.google.com',
      element: '#div'
    };

    options = $.extend(defaults, options);

    $.post('https://www.googleapis.com/calendar/v3/freeBusy?key=' + options.apiKey,
           {"items":[{"id": getID }],"timeMin":"2015-04-10T14:15:00.000Z","timeMax":"2015-04-20T23:30:00.000Z"}, "null", "json")    
    .done(function(data) {
        loaded(data);
      });

    function loaded(data) {
      var status = data.calendars[getID].busy;

      console.log(status);

      if(status.length !== 0 ) {

      for(var i = 0; i < status.length; i++) {
        var statusEntry = status[i];
        var startTime = statusEntry.start;
        var endTime = statusEntry.end;
      }

        var now = new Date().toISOString();
        var element = options.element ;
        var name = element.substr(1);

        if (now > startTime && now < endTime){

             $(options.element).append( 'Available!');

        }

        else {

            $(options.element).append( 'Unavailable!');

            }

    } else {

    $(options.element).append('Unavailable!');

    }

    }

  };
})(jQuery);

我的请求正在Google资源管理器“尝试”中收到正确的响应,所以我认为这可能是我忽略的javascript错误/ json请求?在此先感谢您的帮助和建议。

赤井

Google Calendar API Post请求需要将内容类型指定为JSON以避免上述错误。将POST作为指定了contentType的AJAX请求处理可以解决此错误。

$.ajax({
  url: 'https://www.googleapis.com/calendar/v3/freeBusy?key=' + options.apiKey,
  type: 'POST',
  data: '{"items":[{"id": "[id]@group.calendar.google.com"}], "timeMin": "2015-04-10T14:15:00.000Z", "timeMax": "2015-04-20T23:30:00.000Z"}',
  contentType: 'application/json; charset=utf-8',
  dataType: 'json',
  success: 'null'
})

感谢你的建议!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Calendar REST API错误

来自分类Dev

收到Google Calendar API通知时出现403错误

来自分类Dev

创建事件时Google Calendar API 400错误

来自分类Dev

Google Calendar API返回invalid_grant和错误的请求

来自分类Dev

jQuery $ .ajax通过发送POST接收到400错误请求

来自分类Dev

如何修复Google Calendar API错误

来自分类Dev

收到400错误的请求原因:需要来自Google Cloud stoarge json API

来自分类Dev

重复规则错误400错误的请求-Google Api日历

来自分类Dev

为什么Google Calendar API的“忙/闲”时间恢复为“未定义”?

来自分类Dev

为什么Google Calendar API的“忙/闲”时间恢复为“未定义”?

来自分类Dev

Google Calendar API错误redirect_uri_mismatch

来自分类Dev

Google Calendar API Delete 410错误是什么意思

来自分类Dev

错误(401),需要登录-Google Calendar API v3

来自分类Dev

设置Google Calendar API

来自分类Dev

在 Swift 中使用 Google Calendar API 时收到错误“超出未经身份验证使用的每日限制”

来自分类Dev

HttpError 400错误请求-Google Admin Directory API(Python)

来自分类Dev

Google Drive API使用PageToken返回400错误请求

来自分类Dev

HTTP GET:通过Google Calendar API v3获取Google Calendar事件列表-无效的密钥错误

来自分类Dev

httr对API的POST请求返回400错误

来自分类Dev

Google Calendar API:允许用户使用自己的帐户进行请求

来自分类Dev

Google API POST调用出现400 Parser错误

来自分类Dev

Google Calendar API插入事件

来自分类Dev

Google Calendar API使用限制

来自分类Dev

Google Calendar API公共假期

来自分类Dev

Google Calendar API-PHP

来自分类Dev

Google Calendar API位置python

来自分类Dev

Google Calendar API插入事件

来自分类Dev

Google Calendar API和php

来自分类Dev

Google Calendar API公共假期

Related 相关文章

  1. 1

    Google Calendar REST API错误

  2. 2

    收到Google Calendar API通知时出现403错误

  3. 3

    创建事件时Google Calendar API 400错误

  4. 4

    Google Calendar API返回invalid_grant和错误的请求

  5. 5

    jQuery $ .ajax通过发送POST接收到400错误请求

  6. 6

    如何修复Google Calendar API错误

  7. 7

    收到400错误的请求原因:需要来自Google Cloud stoarge json API

  8. 8

    重复规则错误400错误的请求-Google Api日历

  9. 9

    为什么Google Calendar API的“忙/闲”时间恢复为“未定义”?

  10. 10

    为什么Google Calendar API的“忙/闲”时间恢复为“未定义”?

  11. 11

    Google Calendar API错误redirect_uri_mismatch

  12. 12

    Google Calendar API Delete 410错误是什么意思

  13. 13

    错误(401),需要登录-Google Calendar API v3

  14. 14

    设置Google Calendar API

  15. 15

    在 Swift 中使用 Google Calendar API 时收到错误“超出未经身份验证使用的每日限制”

  16. 16

    HttpError 400错误请求-Google Admin Directory API(Python)

  17. 17

    Google Drive API使用PageToken返回400错误请求

  18. 18

    HTTP GET:通过Google Calendar API v3获取Google Calendar事件列表-无效的密钥错误

  19. 19

    httr对API的POST请求返回400错误

  20. 20

    Google Calendar API:允许用户使用自己的帐户进行请求

  21. 21

    Google API POST调用出现400 Parser错误

  22. 22

    Google Calendar API插入事件

  23. 23

    Google Calendar API使用限制

  24. 24

    Google Calendar API公共假期

  25. 25

    Google Calendar API-PHP

  26. 26

    Google Calendar API位置python

  27. 27

    Google Calendar API插入事件

  28. 28

    Google Calendar API和php

  29. 29

    Google Calendar API公共假期

热门标签

归档