Ho l'indirizzo email di un utente Lync e voglio mandargli un messaggio istantaneo.API Lync: come inviare messaggi istantanei da contattare via e-mail?
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();
}
}
}
Schermata Link grande screenshot: http://i.imgur.com/LMHEF.png
Come si può vedere in questo screenshot, il mio programma non sembra veramente lavorare, anche se sono in grado di ricercare manualmente il contatto e invia un messaggio istantaneo manualmente.
Ho anche provato ad utilizzare ContactManager.BeginSearch()
invece di ContactManager.GetContactByUri()
, ma ho ottenuto lo stesso risultato (si può vedere nello screenshot): http://pastie.org/private/o9joyzvux4mkhzsjw1pioa
non riesco a vedere nulla a stato perché non funziona, puoi abilitare i log di debug in l ync (impostazioni nella scheda generale ") e inserisci qui l'output – Neo
@Neo http://pastie.org/private/igdb3rgsdjfmujyl2j7q –
Proverò a confrontare il log da un tentativo riuscito (manuale) con il log dal mio C# non riuscito tentativo nel frattempo. –