问题描述
我们需要使用哪个API从TeamRoom中删除用户/成员?我无法为此操作找到正确的REST API。
我也尝试使用Python v1pysdk。似乎当前不支持多值删除操作。
不适用于此Python代码:
from v1pysdk import V1Meta
with V1Meta(
instance_url = 'https://www.versiononehost.com/SandBox',password = '1.dfgdJHKLLLKhbHbHbhj',use_password_as_token=True,) as v1:
teamRoom = v1.TeamRoom.where(ID='TeamRoom:61092')
teamRoom.Participants.remove (v1.Member.where(ID='Member:2666')) #Remove operation is not working
v1.commit()
print ("Complete...")
在下面的Java代码中可以正常工作,但是我们团队中不使用Java。所以我想找到正确的REST API或使Python脚本正常工作?任何帮助将不胜感激。
在此Java代码中正常工作:
import com.versionone.Oid;
import com.versionone.apiclient.Asset;
import com.versionone.apiclient.Query;
import com.versionone.apiclient.Services;
import com.versionone.apiclient.V1Connector;
import com.versionone.apiclient.interfaces.IAssetType;
import com.versionone.apiclient.interfaces.IAttributeDeFinition;
import com.versionone.apiclient.interfaces.IServices;
import com.versionone.apiclient.services.QueryResult;
public class VersionOneAPITeamRoom {
public static void main(String[] args) {
try {
V1Connector connector = V1Connector.withInstanceUrl("https://www.versiononehost.com/SandBox")
.withUserAgentHeader("AppName","1.0").withAccesstoken("1.dfgdJHKLLLKhbHbHbhj=").build();
IServices services = new Services(connector);
Oid teamRoomId = services.getoid("TeamRoom:61092");
Query query = new Query(teamRoomId);
IAssetType storyType = services.getMeta().getAssetType("TeamRoom");
IAttributeDeFinition participantsAttribute = storyType.getAttributeDeFinition("Participants");
query.getSelection().add(participantsAttribute);
QueryResult result = services.retrieve(query);
Asset teamRoom = result.getAssets()[0];
teamRoom.removeAttributeValue(participantsAttribute,"Member:2666");
services.save(teamRoom);
System.out.println("Complete...");
} catch (Exception e) {
e.printstacktrace();
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)