There are lots of ways to do things like this. Here's a pretty simple way with c# and .net. forgive some of the using shortcuts, i was just isolating a couple of areas. and as always i normally just post these so i don't forget =P
this is just a console app to add a single item to a task list in sharepoint. very simple. the only thing that was a bit of a pain is you need to find your sharepoint id for the person. the easiest way i found that for myself was simply to go to the list, edit the view settings, select the assign to column and change the 'show' to id. then i grabbed that id and used it to create my items. if i had other people sharing this i would probably just build a small table and do lookups. if it was a really huge amount and critical, you can create a web service. there are a bunch of things out on the web about that but they all require server logic which i didn't want.
"sp" is a web reference to the asmx url below. seems that if you don't set the url property it won't work though. for all i know you can refer to a diff url for the web ref as long as you set the correct property. i didn't fiddle with that much.
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using cc = System.Net.CredentialCache;
using c = System.Console;
using e = System.Environment;
using d = System.Xml.XmlDocument;
namespace todo
{
class Program
{
private const string id = "%sharepointidofpersontoassign%";
private const string url = "http://%yoursite%/_vti_bin/Lists.asmx";
private const string list = "%yourlist%"; //can be GUID too
private const string strBatch = "Newt1assignedto";
static void Main(string[] args)
{
// make sure we have an arg
if (args.Length != 1)
{
c.WriteLine("Syntax: todo title");
e.Exit(0);
}
// get our xml doc together to post
d x = new d();
x.LoadXml(strBatch.Replace(
"t1", args[0].ToString()).Replace(
"assignedto", id));
//connect to the list and do our business
using (sp.Lists l = new sp.Lists())
{
l.Url = url;
l.Credentials = cc.DefaultCredentials;
l.UpdateListItems(list, x);
}
}
}
}