使用 Exchange Web 服务 (EWS) 托管 API 为其他用户创建任务
作为“EWS 托管 API 新手”,我在查找有关创建和管理任务的示例和文档时遇到了一些问题。
我已经成功地为自己创建了一个任务,没有出现任何问题。但是,我确实需要能够执行以下操作 - 如果有人能给我任何指示,我将非常感激......
- 创建一个任务并将其分配给另一个用户。
- 当任务分配给该用户时,能够询问该任务的状态(完成百分比等)。
- 随时更新任务注释。
预先感谢您的任何指点!
As an "EWS Managed API Newbie", I'm having some problems finding examples and documentation about creating and managing Tasks.
I've managed to create a task for myself without a problem. However, I really need to be able to do the following - if anyone could give me any pointers I'd really appreciate it...
- Create a Task and assign it to another user.
- Be able to interrogate the status of that task (percent complete, etc) whilst it is assigned to that user.
- Update the notes on the task at any time.
Thanks in advance for any pointers!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这篇文章中的代码为我工作
为后代粘贴代码:
The code in this post worked for me
Pasting code for posterity:
我一直在研究这个问题,但不确定是否可以使用托管 API。
我使用四个示例用户文件夹设置了一个系统,以及一个中央管理用户,该用户具有对每个用户邮箱的委派访问权限。当我尝试使用 API 查找文件夹时,我只能找到创建服务对象时提供的凭据的用户的文件夹。
我还使用自动生成的代理对象(仅选择 API 来尝试提供帮助),并且我使用以下过程为另一个用户创建任务(这可以正常工作...)
发送请求时,将在目标用户的文件夹中创建该项目。
我希望这个序列可以在托管 API 中实现,但它似乎不起作用。
一旦有机会,我会继续努力,但我也有其他关于我正在处理的约会问题。我认为这个序列可能会帮助其他人寻找,如果他们有更多的运气的话。
抱歉,我目前无法提供更多信息
I've been taking a look into this, and i'm not sure it's possible using the Managed API.
I've got a system set up using four sample user folders, and a central admin user with delegated access to each of those user's mailboxes. When i attempt to find folders using the API, i can only find the folders of the user who's credentials i supply when creating the service object.
I'm also using the auto-generated proxy objects (only picked up the API to try and help), and I use the following process to create a task for another user (this works correctly...):
When the request is sent, the item is created in the target user's folder.
I was hoping that this sequence might be possible in the managed API, but it doesnt seem to work.
I'll keep working on it as i get the chance, but i have other issues with appointments that i'm working on as well. I figured the sequence might help anyone else looking, in case they have more luck.
Sorry i cant provide any more info at the moment
另一个选项是使用 ExchangeService ImpersonatedUserId 属性来模拟将被分配任务的用户。在创建任务之前模拟用户,并且应在其任务文件夹中创建该任务。
Another option is set use the ExchangeService ImpersonatedUserId property to impersonate the user who will be assigned the Task. Impersonate the user before creating the task and it should be created in their Tasks folder.
不幸的是,您无法设置 Task.DisplayTo 属性。我建议 EWS 仍然不支持将任务分配给其他人(请参阅帖子),并且为了获得您所需的功能,您必须在所需用户的任务文件夹中创建该项目将其分配给(这与分配不同,您可以在自己的文件夹中进行分配)
虽然我有此功能与代理类一起使用,但我还没有它与托管 API 一起使用。我假设您可以使用 FindFolder 方法来检索受让人的任务文件夹,然后在那里创建项目,但我会看一下,并在有工作版本时进行更新。
注意这个空间;-)
Unfortunately, you cant set the Task.DisplayTo property. I would suggest that it's still the case that EWS doesn't support assigning tasks to others (see post) and that, in order to get the functionality you require, you'd have to create the item in the Tasks folder of the user that you want to assign it to (this is different to assigning, which you would do from your own folder)
While i have this functionality working with the proxy classes, i dont yet have it working with the managed API. I would assume that you can use the FindFolder method to retrieve the assignee's tasks folder, and then create the item there, but i'll have a look, and update when i have a working version.
Watch this space ;-)
EWS 目前不支持分配任务
检查此链接
http:// Social.msdn.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/2d1d88dc-9b79-4c0c-b438-cc04ff60286f
EWS doesn't currently support assigning tasks
Check this link
http://social.msdn.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/2d1d88dc-9b79-4c0c-b438-cc04ff60286f
我最近一直在研究这个问题,并有以下内容:
我正在运行一个控制台应用程序,它将设置一个流连接来检查
[email protected]
我的
EWSConnection
静态类大致如下所示:有了这个,您可以看到我已经订阅了 OnNotificationEvent,当新电子邮件到达时,我的 OnEvent 方法将被调用。当新电子邮件到达此邮箱时,我需要创建一个任务并根据
ToAddress
属性将其分配给相关人员。首先,您可以看到我尝试在
task.Save
方法中添加我想要为其创建任务的人员,但是一旦我进入 Outlook 与新创建的任务进行交互,所有者仍然是userone
,即使用凭据连接到服务的人,这对我来说是一个问题,因为我需要任务所有者是usertwo
。这是通过删除
targetSharedEmailAddress
变量并使用ExchangeServer
对象的ImpersonatedUserId
属性来实现的。https://msdn.microsoft.com/ en-us/library/office/dd633680(v=exchg.80).aspx
Ive been looking into this more recently and have the following:
I am running a Console application which will set up a streaming connection to check for new emails arriving in the mailbox for
[email protected]
My
EWSConnection
static class looks loosely like this:With this, you can see I have subscribed to the
OnNotificationEvent
and in turn myOnEvent
method will be invoked when a new email arrives. When a new email arrives to this mailbox I have a requirement to create a task and assign it to the relevant person, based on what theToAddress
property is.At first you can see that I tried adding the person that I wanted the task to be created for in the
task.Save
method, however once I went to Outlook to interact with the newly created task, the owner was stilluserone
, i.e. the person who's credentials were used to connect to the service, this was an issue for me as I need the task owner to beusertwo
.This was accomplished by dropping the
targetSharedEmailAddress
variable and instead using theImpersonatedUserId
property of theExchangeServer
object.https://msdn.microsoft.com/en-us/library/office/dd633680(v=exchg.80).aspx