10

「EWS マネージ API 初心者」として、タスクの作成と管理に関する例やドキュメントを見つけるのに苦労しています。

問題なく自分用のタスクを作成できました。ただし、私は本当に次のことができる必要があります-誰かが私に何かポインタを与えることができれば、本当に感謝しています...

  1. タスクを作成し、別のユーザーに割り当てます。
  2. そのタスクがそのユーザーに割り当てられている間、そのタスクのステータス (完了率など) を問い合わせることができます。
  3. タスクに関するメモはいつでも更新できます。

ご指摘ありがとうございます。

4

6 に答える 6

3

この投稿のコードは私のために働いた

後世のための貼り付けコード:

public string CreateTaskItem(string targetMailId)
    {

        string itemId = null;

        task.Subject = "Amit: sample task created from SDE and EWS";

        task.Body = new BodyType();

        task.Body.BodyType1 = BodyTypeType.Text;

        task.Body.Value = "Amit created task for you!";

        task.StartDate = DateTime.Now;

        task.StartDateSpecified = true;



        // Create the request to make a new task item.

        CreateItemType createItemRequest = new CreateItemType();

        createItemRequest.Items = new NonEmptyArrayOfAllItemsType();

        createItemRequest.Items.Items = new ItemType[1];

        createItemRequest.Items.Items[0] = task;

        /** code from create appointment **/

        DistinguishedFolderIdType defTasksFolder = new DistinguishedFolderIdType();

        defTasksFolder.Id = DistinguishedFolderIdNameType.tasks;
        defTasksFolder.Mailbox = new EmailAddressType();

        defTasksFolder.Mailbox.EmailAddress = targetMailId;

        TargetFolderIdType target = new TargetFolderIdType();

        target.Item = defTasksFolder;



        createItemRequest.SavedItemFolderId = target;


        try

        {

            // Send the request and get the response.

            CreateItemResponseType createItemResponse = _esb.CreateItem(createItemRequest);



            // Get the response messages.

            ResponseMessageType[] rmta = createItemResponse.ResponseMessages.Items;



            foreach (ResponseMessageType rmt in rmta)

            {

                ArrayOfRealItemsType itemArray = ((ItemInfoResponseMessageType)rmt).Items;

                ItemType[] items = itemArray.Items;


                // Get the item identifier and change key for each item.

                foreach (ItemType item in items)

                {


//the task id

                   Console.WriteLine("Item identifier: " + item.ItemId.Id);


//the change key for that task, would be used if you want to track changes ...
                    Console.WriteLine("Item change key: " + item.ItemId.ChangeKey);

                }

            }

        }

        catch (Exception e)

        {

            Console.WriteLine("Error Message: " + e.Message);

        }

        return itemId;

    }
于 2011-02-02T19:39:57.320 に答える
2

私はこれを調べてきましたが、マネージ API を使用してそれが可能かどうかはわかりません。

4 つのサンプル ユーザー フォルダーを使用してシステムをセットアップし、各ユーザーのメールボックスへの委任アクセス権を持つ中央管理者ユーザーを用意しました。API を使用してフォルダーを検索しようとすると、サービス オブジェクトの作成時に資格情報を提供したユーザーのフォルダーしか見つかりません。

また、自動生成されたプロキシ オブジェクトを使用しており (API を選択して試してみただけです)、次のプロセスを使用して別のユーザーのタスクを作成しています (これは正しく機能します...)。

  1. 中央管理者アカウントとしてサーバーに接続します。
  2. 自分のアカウントの場合と同じように、タスク オブジェクトを作成します。
  3. アイテムを送信するユーザーのタスク フォルダーへの参照を作成します。
  4. サーバーに渡す CreateItemRequest オブジェクトを作成し、手順 2 と 3 の 2 つのアイテムをリクエストに追加します。

要求が送信されると、対象ユーザーのフォルダーにアイテムが作成されます。

このシーケンスがマネージ API で可能になることを期待していましたが、うまくいかないようです。

機会があれば作業を続けますが、作業中のアポイントメントには他にも問題があります。運が良ければ、このシーケンスは他の誰かが探しているのに役立つかもしれないと思いました.

申し訳ありませんが、現時点ではこれ以上の情報を提供することはできません

于 2010-07-09T11:25:08.253 に答える
2

もう 1 つのオプションは、ExchangeService ImpersonatedUserId プロパティを使用して、タスクが割り当てられるユーザーを偽装するように設定されています。タスクを作成する前にユーザーを偽装し、タスク フォルダーに作成する必要があります。

于 2010-10-01T17:13:34.957 に答える
1

残念ながら、Task.DisplayTo プロパティを設定することはできません。EWS が他の人へのタスクの割り当てをサポートしていない (投稿を参照) ことはまだあり、必要な機能を得るには、ユーザーのタスク フォルダーにアイテムを作成する必要があることをお勧めします。割り当てたい(これは、独自のフォルダーから行う割り当てとは異なります)

この機能はプロキシ クラスで動作しますが、マネージ API で動作することはまだありません。FindFolder メソッドを使用して担当者のタスク フォルダーを取得し、そこにアイテムを作成できると思いますが、実際に見て、作業中のバージョンができたら更新します。

このスペースをご覧ください ;-)

于 2010-07-09T08:37:09.753 に答える
0

EWS は現在、タスクの割り当てをサポートしていません このリンクを確認してください

http://social.msdn.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/2d1d88dc-9b79-4c0c-b438-cc04ff60286f

于 2013-02-28T15:10:12.530 に答える