会議のワークスペースインスタンスを削除できません
-
16-10-2019 - |
質問
そのため、ミーティングワークスペースが作成されました。その後、その後の会議は、ワークスペースにリンクされ、1つずつ、会議が予定されているように。ある時点で、オーガナイザーは「何か」を削除しましたが、Outlookカレンダーやイベントカレンダーに表示されなくなりました。ただし、おそらく削除された会議インスタンスはまだそこにあります。そして、そうでなければ、このインスタンスを維持、移動、または削除するように頼んで幸せに見える小さなドロップダウン(番号31)現れません。
私は次のことを試しました:
- SharePoint Designerから「ドキュメントライブラリとページフォルダーの両方のシリーズアイテムを削除します... Prollyは最も賢明ではありませんが、以前は機能していました。
次のURLリクエストを発行してシステムをトリックしようとしました。
http://myserver/en/mydep/mymeeting/lists/meeting%20series/movetodt.aspx?frominstanceId = 31&frominstancedate = 4/23/2010%201:00%20pm&frominstancedateiso = 20100423t200000zz&source = http://myserver/en/mydep/mymeeting/default.aspx%3finstanceid%3d31%26paged%3dnext%26p_ starttimeutc%3d20090421t220000z%26 view%3572dffcfce
そして、別の会議を選んでみます。ワーキーはありません。 SharePointは私を賢くしました
私が試みようとしていること(この順序で)
- 移動オプションの代わりに「削除」オプションを使用してみてください
- たぶん、これで利用可能なSTSADMコマンドがあるかどうかを確認します
- ワークスペースで動作するためにいくつかのc#を記述して、インスタンスを取り除くために
- ワークスペースを所定の位置にバックアップ/復元します
- 静かに神の介入を祈ります。
どんな提案でも大歓迎です。
解決 2
最終的に、私はVS 2008の大きな銃を発射し、仕事に取り掛かる必要がありました。サーバー自体で開発する必要がないように、オブジェクトモデルではなくWebサービスを使用することにしました。 WCFフレームワークを使用して、Meetings Webサービスへのサービス参照を作成します(会議と呼びます)。また、Webサービスのリスト(私の場合のリスト)のサービスリファレンスが必要です。その後、プロキシを初期化します。
MeetingSoapClient mSClient=new Meeting SoapClient();
mSClient.ClientCredentials.Windows.ClientCredential= new NetworkCredential();
ListsSoapClient lSClient=new ListsSoapClient();
lSClient.ClientCredentials.Windows.ClientCredential = new NetworkCredential();
次に、プロキシの削除会議方法を呼び出します。
mSClient.RemoveMeeting(0, InstanceUID(InstanceID), uint.MaxValue, DateTime.Now, true);
会議のインスタンスIDを知る必要があります。会議へのリンクの上にホバリングすると、通常はこれが得られます。その後、この会議ユニークなインスタンスIDを見つける必要があります。インスタンスUIDは、このコードから見つけることができます。
private static string InstanceUID(uint InstanceID)
{
/*Use the CreateElement method of the document object to create elements for the parameters that use XML.*/
XmlDocument xmlDoc = new XmlDocument();
XmlElement query = xmlDoc.CreateElement("Query");
XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions");
query.InnerXml = @"<Where><Eq><FieldRef Name=""ows_ID""/><Value Type=""Counter"">" + InstanceID + @"</Value></Eq></Where>";
XmlNode ndResult = lSClient.GetListItems("Meeting Series", "", query, viewFields, "150", queryOptions, null);
XmlNode mainNode = ndResult.ChildNodes.Item(1);
mainNode = mainNode.ChildNodes.Item(1);
XmlNode eventUID = mainNode.Attributes.GetNamedItem("ows_EventUID");
return eventUID.InnerText;
}
私は、これのそれぞれが好奇心itive盛な読者に何をするかについて完全な説明を残します。グーグルに行き、祝福されてください。
他のヒント
しばらくの間、ワークスペースから会議を削除するソリューションを探しています。上記の解決策を試みています:
Meetings.MeetingsSoapClient meetings = new Meetings.MeetingsSoapClient();
meetings.ClientCredentials.Windows.ClientCredential = new NetworkCredential();
デバッグ中に会議のワークスペースGUIDを強調しました。
meetings.RemoveMeeting(3, "STSTeamCalendarEvent:List:{1B049DAE-332F-4AB4-A169-2B438F460971}:Item:2", 0, DateTime.Now, true);
私はfaultExceptionを取得していますが、その詳細は次のとおりです。
このアクションを完了することはできません。もう一度やり直してください。
私はこれが許可エラーだと思っていましたが、サイトに完全な制御権限があります - 誰かが提案をしていますか?