【问题标题】:OUTLOOK REST API Declining an Event using Node.jsOUTLOOK REST API 使用 Node.js 拒绝事件
【发布时间】: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


【解决方案1】:

有一个名为 iCalUid 的属性,对于组织者和与会者邮箱中的事件来说是相同的。但是,似乎尚不支持使用此属性的 $filter。我们将考虑添加这个。同时,如果您知道活动的其他详细信息,例如开始时间和结束时间,您可以询问该时间段内的所有活动,并通过比较组织者邮箱中活动的 iCalUid 属性与参加者邮箱中事件的 iCalUid 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多