【发布时间】:2015-12-21 23:39:01
【问题描述】:
我正在尝试拒绝使用 Outlook REST API 创建的事件。我有 创建的事件。我的请求包括 Node.js 代码:
var body =JSON.stringify(
{
"Comment": "Sorry, maybe next time!",
"SendResponse": "true"
});
var options1 = {
host : 'outlook.office365.com',
port : 443,
method : 'POST',
headers : {
'Authorization' : 'Bearer' + token,
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(body)
},
json : body,
path : '/api/v2.0/me/events/EVENT_ID_RECEIVED/decline'
}
};
var str="";
var apiCall=https.request(options1,function(response){
response.on('data',function(chunk){
str += chunk;
});
response.on('end' , function(){
console.log("data received is : "+response.data);
console.log("value is : "+str);
});
response.on('error', function(e) {
console.log("error received : "+e.message);
});
});
apiCall.write(body);
apiCall.end();
我检查了该事件是否存在,但仍然出现此错误。
样品申请
POST //api/v2.0/me/events/GeneratedEventIdWhileCreatingCalender/decline HTTP/1.1
Host: outlook.office365.com
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 9c925f4a-58df-4409-ca51-278590cfddd1
{"Comment":"Sorry,maybe next time!","SendResponse":"true"}
示例响应标头
Access-Control-Allow-Origin → *
Access-Control-Max-Age → 86400
Cache-Control → private
Content-Type → application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
Date → Fri, 18 Dec 2015 05:02:29 GMT
OData-Version → 4.0
Server → Microsoft-IIS/8.0
Transfer-Encoding → chunked
X-AspNet-Version → 4.0.30319
X-BEServer → HK2PR0301MB1154
X-BackEndHttpStatus → 404
X-CalculatedBETarget → HK2PR0301MB1154.apcprd03.prod.outlook.com
X-DiagInfo → HK2PR0301MB1154
X-Powered-By → ASP.NET
request-id → 6ab4e13e-f8bd-45c8-a80a-c31f8c580141
示例响应正文
{
"error": {
"code": "ErrorItemNotFound",
"message": "The specified object was not found in the store."
}
}
【问题讨论】:
-
Mohit - 您能否提供一个失败的请求和响应示例,包括标头(授权标头除外),以便我们进行调查?这应该可行,我所询问的数据将有助于我们进行调查。
-
嗨@VenkatAyyadevara-MSFT 我已经用示例请求和响应更新了这个问题,我还想提一提的是,当我调用同一个api 时只需用主持人的身份验证替换身份验证令牌表示响应很好,版主不能拒绝他创建的事件,这是正确的。
-
谢谢,莫希特。我们将调查并发布答案。
-
根据我们的调查,问题是在用户邮箱中找不到您尝试拒绝的事件 ID。您是否使用组织者邮箱中的事件 ID 来拒绝参加者邮箱中的同一事件?这将失败,因为与会者邮箱中的事件 ID 不同。
-
好的,我遇到了问题,我使用的是响应中返回的 id 来创建一个活动,所以根据你的说法,参加者一方的活动 id 会有所不同,所以我们可以t 使用相同的 ID 来拒绝该事件。那么我们如何使用 REST API 来拒绝活动,因为我们不知道参加者活动的 id。
标签: node.js outlook-restapi office365-restapi