2017-04-09 105 views
0

我的问题是,如果它有可能改变通过的Microsoft Outlook API一个contactFolder资源的ParentFolderId性能和/或接触资源Microsoft Graph以及如何。 (我已经知道Microsoft Graph正在使用Microsoft Outlook API来从该文章Outlook REST API vs Microsoft Graph中获取Outlook功能)。在Microsoft图表或Outlook API移动联系人或联系人文件夹

我试图这样做,但无济于事。所以我确信这个功能不被支持。


我做了什么:

我已经试图通过一个补丁调用来做到这一点。 PATCH调用按原样工作,返回一个200状态代码,我可以更改其他属性,但它不适用于ParentFolderId,它只是被忽略。

在线文档有一个例子,上面应该可以工作。在这个例子中,他们在主体中包含了ParentFolderID,他们在响应中得到它,但是由于我自己的尝试以及这个例子似乎被嘲笑的事实,我开始相信这只是一个疏忽。下面是该示例的链接:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/contactfolder_update

附注:您不会在Outlook API文档中找到关于支持联系人文件夹中的POST和PATCH操作的任何信息,但API支持它们恰到好处(请参阅https://msdn.microsoft.com/en-us/office/office365/api/contacts-rest-operations)。 Graph API文档在这方面更加完整,因为它们也覆盖联系人文件夹的POST和PATCH操作。


所以以防万一的ParentFolderId的变化是支持和我没有做正确的事情,这里是我想做一个例子。以下是outlook.office.com API v2.0,但我也使用了版本v1.0和beta的所有可能性,并且还使用了版本为v1.0和beta的graph.microsoft.com,因此相应地更改了属性的名称(outlook.com的道具都在Pascal案例中) 。

curl --request PATCH \ 
    --url https://outlook.office.com/api/v2.0/me/contacts/AQMkADAwATNiZmYAZC0wNTUAZi1mNjU1AC0wMAItMDAKAEYAAAM_h46UdfWbRLlZWFB3Ty59BwAxLPcv2HzQSobPUzuXLWg7AAAAAereLgAAADEs9y-YfNBKhs9TO5ctaDsAAAAB6uX5AAAA \ 
    --header 'authorization: Bearer EwAAA+l...59wYC' \ 
    --header 'cache-control: no-cache' \ 
    --header 'content-type: application/json' \ 
    --data '{\n "ParentFolderId": "AQMkADAwATNiZmYAZC0wNTUAZi1mNjU1AC0wMAItMDAKAC4AAAM_h46UdfWbRLlZWFB3Ty59AQAxLPcv2HzQSobPUzuXLWg7AAACAQ4AAAA=",\n "GivenName": "John"\n}' 

(I当然有去除承载令牌详情)

我想以实现触点和/或联系人文件夹的有效移动操作该功能。复制/删除的替代方法效率不高,也不会保留“移动”事物的ID,因为它们将不得不重新创建。

回答

1

您无法通过PATCH'ing更改Outlook世界中任何实体的ParentFolderId。该属性由服务器管理。它改变的唯一方法是移动有问题的项目。不幸的是,没有为API中的联系人或联系人文件夹定义Move操作。