Delphi REST客户端无法在Google日历中创建事件 - 解析错误

时间:2016-02-09 12:09:03

标签: api delphi google-calendar-api rest-client parse-error

我意识到这是一个重复的问题,但它没有得到回答,所以我用我自己的代码再次提出问题。

我尝试使用DELPHI XE5 Update 2中的REST客户端库组件(TRESTClient,TRESTRequest,TRESToAuth2Autenticator,TRESTResponse)向Google Calendar / v3 API发送HTTP请求。

为什么以下工作没有?我得到的只是一个错误的请求说明"此API不支持解析表单编码的输入"。我已在客户端和请求中指定了application / json,但它忽略了这一点并仍然以Form Encoded方式发送。

JB := TlkJSONObject.Create;
 JBStart := TlkJSONObject.Create;
 JBEnd := TlkJSONObject.Create;
 try
    JB.Add('Summary', 'Another Test');
    JBStart.Add('DateTime', '2016-02-09T17:00:00');
    JBStart.Add('TimeZone', 'Europe/London');
    JB.Add('Start', JBStart);
    JBEnd.Add('DateTime', '2016-02-09T18:00:00');
    JBEnd.Add('TimeZone', 'Europe/London');
    JB.Add('End', JBEnd);
    Event := TlkJSON.GenerateText(JB);
    finally
    FreeAndNil(JB);
    end;

 Client.BaseURL := 'https://www.googleapis.com/calendar/v3/calendars/' + CalID + '/events?key=' + ClientInfo.APIKey;
 Client.ContentType := 'application/json;';

 Req.AddBody(Event, ctAPPLICATION_JSON);
 Req.Method := rmPOST;
 Req.Execute;

0 个答案:

没有答案