通过API找出Autodesk Vault中某个用户组可以访问的Vault
API 通过 访问 可以 某个 找出 用户组 Autodesk
2023-09-27 14:25:07 时间
首先在Vault Explorer中可以这样查看和更改某个用户组有权访问的vault
Tools –> Administration –> Global Settings –> Groups… 打开用户组管理对话框, 双击某个组,点“Vaults…” 按钮即可查看和编辑这个组所能访问的vault。
现在通过API来实现,没啥说的,直接上代码:
using Autodesk.Connectivity.Explorer.Extensibility;
using Autodesk.Connectivity.WebServices;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using VDF = Autodesk.DataManagement.Client.Framework;
namespace HelloWorldVaultExplorer
{
public class ListUserGroupVaults : IExplorerExtension
{
public IEnumerable<CommandSite> CommandSites()
{
CommandItem listGrougVaultsCmdItem = new CommandItem("HelloWorldVaultExplorer.ListUserGroupVaultsCmd",
"List Group Vaults - Daniel");
listGrougVaultsCmdItem.Execute += listGrougVaultsItem_Execute;
CommandSite toolsMenuSite = new CommandSite("ListUserGroupVaultsCmd.Toolbar",
"List Group Vaults Menu- Daniel");
toolsMenuSite.Location = CommandSiteLocation.ToolsMenu;
toolsMenuSite.AddCommand(listGrougVaultsCmdItem);
List<CommandSite> sites = new List<CommandSite>();
sites.Add(toolsMenuSite);
return sites;
}
void listGrougVaultsItem_Execute(object sender, CommandItemEventArgs e)
{
try
{
//using VDF = Autodesk.DataManagement.Client.Framework
VDF.Vault.Currency.Connections.Connection connection =
e.Context.Application.Connection;
string msg = "";
Group[] groups = connection.WebServiceManager.AdminService.GetAllGroups();
foreach (var group in groups)
{
GroupInfo grpInfo = connection.WebServiceManager.AdminService
.GetGroupInfoByGroupId(group.Id);
msg += grpInfo.Group.Name + "\n";
msg += "Group accessable vaults : \n";
if (grpInfo.Vaults == null)
{
msg += " this group has no accessable vaults. \n";
continue;
}
foreach (var vault in grpInfo.Vaults)
{
msg += vault.Id + ": " + vault.Name + "\n";
}
}
MessageBox.Show(msg);
}
catch (Exception ex)
{
// If something goes wrong, we don't want the exception to bubble up to Vault Explorer.
MessageBox.Show("Error: " + ex.Message);
}
}
}
}
结果:
相关文章
- Spark SQL实战(04)-API编程之DataFrame
- 【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播
- 微信 API 中调用客服消息接口提示错误返回限制
- Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:9001/api/size/get. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
- 高德API+Python帮你解决租房问题
- HTML5 JQUERY使用token验证,通过api上传图片到图床 EasyImages2.0
- 通过swagger将API业务版本号与Gitlab代码版本号绑定
- 【Jetpack】学穿:Activity Results API
- Elasticsearch Java API 的使用
- 【JDK8】Java8 Stream流API常用操作
- 通过API执行AutoCAD命令来…
- 开源项目成熟度分析工具-利用github api获代替码库的信息
- vue3 组合式API 逻辑拆分,再也不怕同事说我代码烂了
- 网页通过iframe嵌入百度地图API时自适应屏幕
- 通过日志查看Web Api详细运行过程
- IoC在ASP.NET Web API中的应用
- ASP.NET Core使用Web API通过Open XML SDK生成Word文件模板
- 通过Knockout.js + ASP.NET Web API构建一个简单的CRUD应用
- ArcGIS API for js之绘制点、线、面
- Flink Table Api读取kafka数据
- FFmpeg - 通过API实现可控的Filter调用链
- 接口API中的敏感数据基于AES进行安全加密后返回