我正在从Salesforce向Google日历api进行标注,以更新Google事件。当我发出请求时,它总是将与会者状态更改为“ NeedsAction”,因此当我向Google发送请求时,与会者状态为“已接受”,但作为响应,我得到了“ NeedsAction”。为什么Google总是更改与会者的答复。如果有人知道,请帮助。谢谢
请求正文:
{
"kind" : "calendar#event",
"summary" : "nice 13 val",
"description" : "this is new",
"location" : "3 value friday",
"start" : {
"dateTime" : "2020-08-13T12:30:00+05:00"
},
"end" : {
"dateTime" : "2020-08-13T13:30:00+05:00"
},
"attendees" : [ {
"email" : "[email protected]",
"organizer" : true,
"responseStatus" : "accepted"
}, {
"email" : "[email protected]",
"responseStatus" : "accepted"
} ]
}
大喊 :
Http http = new Http();
HttpRequest httpReq = new HttpRequest();
httpReq.setEndpoint('https://www.googleapis.com/calendar/v3/calendars/[email protected]/events/'+objEvent.Google_Event_Id__c);
httpReq.setTimeout(30000);
httpReq.setHeader('Content-Type', 'application/json');
httpReq.setMethod('POST');
httpReq.setHeader('X-HTTP-Method-Override','PATCH');
httpReq.setHeader('Authorization', 'Bearer ' + accessToken);
String reqBody = createEventBody(objEvent, googleSettingInfo);
if (String.isNotBlank(reqBody)) {
httpReq.setBody(reqBody);
}
if (httpReq.getBody() != null && httpReq.getBody() != '') {
HttpResponse httpRes = http.send(httpReq);
System.debug('code: ' + httpRes.getStatusCode());
if (httpRes.getStatusCode() == 200) {
System.debug('response: ' + httpRes);
System.debug('create event response body: ' + httpRes.getBody());
}
}
总是以“需要操作”来使与会者回复,而“ [email protected]”则应该“接受”
{
"created": "2020-08-11T18:51:41.000Z",
"updated": "2020-08-28T06:48:49.972Z",
"summary": "nice 13 val",
"description": "this is new",
"location": "3 value friday",
"creator": {
"email": "[email protected]",
"self": true
},
"organizer": {
"email": "[email protected]",
"self": true
},
"start": {
"dateTime": "2020-08-13T14:00:00+05:30"
},
"end": {
"dateTime": "2020-08-13T15:00:00+05:30"
},
"sequence": 16,
"attendees": [
{
"email": "[email protected]",
"responseStatus": "needsAction"
},
{
"email": "[email protected]",
"organizer": true,
"self": true,
"responseStatus": "accepted"
}
],
createEventBody
为了创建仅包含attendees
更新状态信息的简单JSON对象,如何修改功能呢?
这将正确利用PATCH语义,并在提高可读性方面有很大帮助。
我自己进行了测试,并且您生成的JSON对象在start
属性上返回错误。删除它也将帮助您解决该错误。最后,我测试了将attendees
属性传递给PATCH方法是否可以按预期工作。
在实际更新代码之前,您可以尝试使用“尝试此API”功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句