Tengo la dirección de correo electrónico de un usuario de Lync y quiero enviarle un mensaje instantáneo.API de Lync: ¿Cómo enviar un mensaje instantáneo al contacto por dirección de correo electrónico?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Lync.Model;
using Microsoft.Lync.Model.Conversation;
namespace Build_Server_Lync_Notifier
{
class Program
{
static void Main(string[] args)
{
if (args.Length != 2)
{
Console.WriteLine("Usage: bsln.exe <uri> <message>");
return;
}
LyncClient client = Microsoft.Lync.Model.LyncClient.GetClient();
Contact contact = client.ContactManager.GetContactByUri(args[0]);
Conversation conversation = client.ConversationManager.AddConversation();
conversation.AddParticipant(contact);
Dictionary<InstantMessageContentType, String> messages = new Dictionary<InstantMessageContentType, String>();
messages.Add(InstantMessageContentType.PlainText, args[1]);
InstantMessageModality m = (InstantMessageModality) conversation.Modalities[ModalityTypes.InstantMessage];
m.BeginSendMessage(messages, null, messages);
//Console.Read();
}
}
}
pantalla Enlace a la gran pantalla: http://i.imgur.com/LMHEF.png
Como se puede ver en esta captura de pantalla, mi programa no parece realmente a trabajar, a pesar de que soy capaz de buscar manualmente subir el contacto y enviar un mensaje instantáneo de forma manual.
También he intentado usar ContactManager.BeginSearch()
en lugar de ContactManager.GetContactByUri()
, pero no obtuvo el mismo resultado (se puede ver en la captura de pantalla): http://pastie.org/private/o9joyzvux4mkhzsjw1pioa
no puedo ver nada a estado ¿Por qué no funciona? ¿Puedes habilitar los registros de depuración en l? ync (configuración bajo "pestaña" general) y poner el resultado aquí – Neo
@Neo http://pastie.org/private/igdb3rgsdjfmujyl2j7q –
Intentaré comparar el registro de un intento (manual) exitoso con el registro de mi C# fallido intentarlo mientras tanto. –