如何解决VersionOne:我们需要使用哪个API从TeamRoom中删除用户/成员?
我们需要使用哪个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 举报,一经查实,本站将立刻删除。