会議 Web サービスを使用して会議ワークスペースをカスタマイズする
最終更新日: 2010年7月7日
適用対象: SharePoint Foundation 2010
Meetings Web サービスを使用すると、会議ワークスペース サイトを作成および管理できます。ここでは、Web サービスを使用して次の操作を行う方法について説明します。
既存の会議ワークスペース サイトを識別する。
新しい会議ワークスペース サイトを作成し、会議を追加する。
会議ワークスペース サイトを削除する。
会議ワークスペース サイト上の会議情報を更新する。
手順
始める前に、Microsoft Visual Studio で Windows Forms アプリケーションを作成します。Microsoft SharePoint Foundation の Web サービスへの Web 参照を設定する方法の詳細については、「Windows SharePoint Services Web サービスの紹介」を参照してください。
既存の会議ワークスペース サイトを識別するには
サーバー上に存在する会議ワークスペース サイトの一覧を表示するコードの例を次に示します。
注意
この例では、ServerURLTextBox は、プロジェクトのフォームに追加したインターフェイス要素です。
Dim ws As New mywss001.Meetings() Dim myCache As New System.Net.CredentialCache() Private Sub ListMWS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListMWS.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = ServerURLTextBox.Text If (ws.Url.EndsWith("/")) Then ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1) End If ws.Url = ws.Url + "/_vti_bin/meetings.asmx" Dim GetMeetingWorkspacesResponse As System.Xml.XmlNode If (ws.Url <> "") Then GetMeetingWorkspacesResponse = ws.GetMeetingWorkspaces(True) End If Dim OuterXml As String OuterXml = GetMeetingWorkspacesResponse.OuterXml() MsgBox("OuterXml") End Sub
mywss001.Meetings ws = new mywss001.Meetings(); System.Net.CredentialCache myCache = new System.Net.CredentialCache(); private void ListMWS_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = ServerURLTextBox.Text; if ((ws.Url.EndsWith("/"))) { ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1); } ws.Url = ws.Url + "/_vti_bin/meetings.asmx"; System.Xml.XmlNode GetMeetingWorkspacesResponse = default(System.Xml.XmlNode); if ((!string.IsNullOrEmpty(ws.Url))) { GetMeetingWorkspacesResponse = ws.GetMeetingWorkspaces(true); } string OuterXml = null; OuterXml = GetMeetingWorkspacesResponse.OuterXml(); Interaction.MsgBox("OuterXml"); }
新しい会議ワークスペース サイトを作成し、サイトに会議を追加するには
会議ワークスペース サイトを作成して会議を追加するコードの例を次に示します。
注意
この例では、ServerURLTextBox、MeetingSubjectTextBox、MeetingLocationTextBox、DTSTARTTextBox、DTENDTextBox、および CreateWorkspaceButton はすべて、プロジェクトのフォームに追加したインターフェイス要素です。
Dim ws As New mywss001.Meetings() Dim tz As New mywss001.TimeZoneInf() Dim myCache As New System.Net.CredentialCache() Dim UID As Integer Dim Sequence As UInt32 Private Sub CreateWorkspaceButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreateWorkspaceButton.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = ServerURLTextBox.Text If (ws.Url.EndsWith("/")) Then ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1) End If ws.Url = ws.Url + "/_vti_bin/meetings.asmx" Dim CreateWorkspaceResponse As System.Xml.XmlNode If (ws.Url <> "") Then CreateWorkspaceResponse = ws.CreateWorkspace(MeetingSubjectTextBox.Text, "MPS#0", System.UInt32.Parse("1033"), tz) End If Dim OuterXml As String OuterXml = CreateWorkspaceResponse.OuterXml() Dim MWSURL As String Dim Start As Integer Dim Finish As Integer Start = OuterXml.IndexOf("""") Finish = OuterXml.IndexOf("""", Start + 1) MWSURL = OuterXml.Substring(Start + 1, Finish - Start - 1) Dim MyRand As New System.Random() UID = MyRand.Next(100, 10000) Sequence.ToString("0") ws.Url = MWSURL + "/_vti_bin/meetings.asmx" ws.AddMeeting("", UID.ToString, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, False) MWSURLLink.Text = MWSURL End Sub
mywss001.Meetings ws = new mywss001.Meetings(); mywss001.TimeZoneInf tz = new mywss001.TimeZoneInf(); System.Net.CredentialCache myCache = new System.Net.CredentialCache(); int UID; UInt32 Sequence; private void CreateWorkspaceButton_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = ServerURLTextBox.Text; if ((ws.Url.EndsWith("/"))) { ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1); } ws.Url = ws.Url + "/_vti_bin/meetings.asmx"; System.Xml.XmlNode CreateWorkspaceResponse = default(System.Xml.XmlNode); if ((!string.IsNullOrEmpty(ws.Url))) { CreateWorkspaceResponse = ws.CreateWorkspace(MeetingSubjectTextBox.Text, "MPS#0", System.UInt32.Parse("1033"), tz); } string OuterXml = null; OuterXml = CreateWorkspaceResponse.OuterXml(); string MWSURL = null; int Start = 0; int Finish = 0; Start = OuterXml.IndexOf("\""); Finish = OuterXml.IndexOf("\"", Start + 1); MWSURL = OuterXml.Substring(Start + 1, Finish - Start - 1); System.Random MyRand = new System.Random(); UID = MyRand.Next(100, 10000); Sequence.ToString("0"); ws.Url = MWSURL + "/_vti_bin/meetings.asmx"; ws.AddMeeting("", UID.ToString, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, false); MWSURLLink.Text = MWSURL; }
会議ワークスペース サイトを削除するには
指定された会議ワークスペース サイトを削除するコードの例を次に示します。
注意
この例では、MWSURLLink に会議ワークスペース サイトの URL が格納されているものとしています。
Private Sub DeleteWorkspaceButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteWorkspaceButton.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx" ws.DeleteWorkspace() End Sub
private void DeleteWorkspaceButton_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx"; ws.DeleteWorkspace(); }
会議ワークスペース サイト上の会議情報を更新するには
会議ワークスペース サイト上の会議を更新するコードの例を次に示します。
注意
この例では、MWSURLLink、MeetingSubjectTextBox、MeetingLocationTextBox、DTSTARTTextBox、DTENDTextBox、および CreateWorkspaceButton はすべて、プロジェクトのフォームに追加したインターフェイス要素です。
Private Sub UpdateMeetingButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateMeetingButton.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx" Sequence.ToString("0") ws.UpdateMeeting(UID, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, False) End Sub
private void UpdateMeetingButton_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx"; Sequence.ToString("0"); ws.UpdateMeeting(UID, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, false); }