Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GrooveWeb服务问题GrooveMembers.Create_C#_Service_Groove - Fatal编程技术网

C# GrooveWeb服务问题GrooveMembers.Create

C# GrooveWeb服务问题GrooveMembers.Create,c#,service,groove,C#,Service,Groove,我正在用C#开发一个概念验证网站,该网站将采用URL查询字符串,将其与特定Groove工作区匹配,然后邀请用户进入该空间(如果他们没有)。我有连接到Groove的数据桥,找到工作区,阅读工作区成员部分工作正常 不过,我在自动邀请上遇到了一个绊脚石。我把它作为一个独立的网站“桥梁”来运行,所以我试图完全从web服务器上运行它。我将要从数据库中邀请的人的Groove标识作为字符串: CurrUserIdentity=grooveIdentity://nzkth68eqzgktrb9sbr.... 但

我正在用C#开发一个概念验证网站,该网站将采用URL查询字符串,将其与特定Groove工作区匹配,然后邀请用户进入该空间(如果他们没有)。我有连接到Groove的数据桥,找到工作区,阅读工作区成员部分工作正常

不过,我在自动邀请上遇到了一个绊脚石。我把它作为一个独立的网站“桥梁”来运行,所以我试图完全从web服务器上运行它。我将要从数据库中邀请的人的Groove标识作为字符串:

CurrUserIdentity=grooveIdentity://nzkth68eqzgktrb9sbr....

但是,我无法找到如何将字符串转换为真正的GrooveMember.Member对象,然后被邀请。在这种情况下,最简单的邀请方式是什么

终于找到了它:

GrooveMembers.GrooveMembers AddMember = new GrooveMembers.GrooveMembers();
AddMember.GrooveRequestHeaderValue = new GrooveMembers.GrooveRequestHeader();
AddMember.GrooveRequestHeaderValue.GrooveRequestKey = someString; //Whatever used in your envronment
AddMember.GrooveRequestHeaderValue.GrooveIdentityURL = id.URI; //URI of the local Groove identity or the Groove Data Bridge
AddMember.Url = someOtherString /*Local web string or remote host*/ + space.Members;//A property of the space you are inviting the tuser into
GrooveMembers.Member[] Members = AddMember.Read();//actually connects to the service

GrooveMembers.Member newMember = new GrooveMembers.Member();
newMember.URI = userIdentity;//A string stripped from the database and TRIMmed
newMember.Name = userFullName;//A string also pulled from the database DisplayNeme\GrooveDomain
string userContact = "/GWS/Groove/2.0/Contacts/" + userIdentity.Replace("://", "/");
newMember.Contact = userContact;// A string formatted by replacing :// with / adding "/GWS/Groove/2.0/Contacts/" to the front of the Groove Identity
newMember.Role = "$Telespace.Member";

AddMember.Create(newMember);

GrooveMembers.GrooveMembers AddMember = new GrooveMembers.GrooveMembers();
AddMember.GrooveRequestHeaderValue = new GrooveMembers.GrooveRequestHeader();
AddMember.GrooveRequestHeaderValue.GrooveRequestKey = someString; //Whatever used in your envronment
AddMember.GrooveRequestHeaderValue.GrooveIdentityURL = id.URI; //URI of the local Groove identity or the Groove Data Bridge
AddMember.Url = someOtherString [Local web string or remote host] + space.Members [A property of the space you are inviting the tuser into];
GrooveMembers.Member[] Members = AddMember.Read();//actually connects to the service

GrooveMembers.Member newMember = new GrooveMembers.Member();
newMember.URI = userIdentity;//A string stripped from the database and TRIMmed
newMember.Name = userFullName;//A string also pulled from the database DisplayNeme\GrooveDomain
string userContact = "/GWS/Groove/2.0/Contacts/" + userIdentity.Replace("://", "/");
newMember.Contact = userContact;// A string formatted by replacing :// with / adding "/GWS/Groove/2.0/Contacts/" to the front of the Groove Identity
newMember.Role = "$Telespace.Member";

AddMember.Create(newMember);

Groove Web Services V12 Helpers库可以提供一个更易于管理的API来完成这项任务-

我知道如何为本地联系人执行此任务,但不是从Groove目录。这越来越难了。