通过API找出Autodesk Vault中某个用户组可以访问的Vault
首先在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);
}
}
}
}
结果:
通过API找出Autodesk Vault中某个用户组可以访问的Vault的更多相关文章
- 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵
题目描述: 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵(矩阵中元素个数为矩阵面积) 输入: 每个案例第一行三个正整数N,M<=100,表示矩阵大小,和一个整数K 接下 ...
- 找出Java进程中大量消耗CPU
原文:https://github.com/oldratlee/useful-shells useful-shells 把平时有用的手动操作做成脚本,这样可以便捷的使用. show-busy-java ...
- 笔试题&面试题:找出一个数组中第m小的值并输出
题目:找出一个数组中第m小的值并输出. 代码: #include <stdio.h> int findm_min(int a[], int n, int m) //n代表数组长度,m代表找 ...
- 找出sql脚本中需要创建的表空间名称和数据库用户名
测试的工作中,经常会遇到项目交接或者搭建一个新的测试环境,而创建oracle数据库用户及表空间时,需要提前找出脚本中的 数据库用户名和表空间名,所以自己写了一个python脚本,自动找出sql脚本中的 ...
- 找出程序GasMileage中的哪一行与下列叙述相对应:
找出程序GasMileage中的哪一行与下列叙述相对应: a.通知程序将使用Scanner类 import java.util.Scannner; b.创建一个Scanner类的对象 Scan ...
- 如何在EXCEL中找出第一列中不包含的第二列数据
1.找出第一列中不包含的第二列数据:=IFERROR(VLOOKUP(A:A,B:B,1,0),"无") 2.A列相同,B列相加:=SUMIF(G:G,G1,J:J)
- 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。
给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" ...
- [PY3]——找出一个序列中出现次数最多的元素/collections.Counter 类的用法
问题 怎样找出一个序列中出现次数最多的元素呢? 解决方案 collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案 c ...
- 找出数字数组中最大的元素(使用Math.max函数)
从汤姆大叔的博客里看到了6个基础题目:本篇是第1题 - 找出数字数组中最大的元素(使用Match.max函数) 从要求上来看,不能将数组sort.不能遍历.只能使用Math.max,所以只能从java ...
随机推荐
- AngularJS in Action读书笔记6(实战篇)——bug hunting
这一系列文章感觉写的不好,思维跨度很大,原本是由于与<Angularjs in action>有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总 ...
- C#语法糖(Csharp Syntactic sugar)大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 【Swift学习】Swift编程之旅(四)基本运算符
Swift支持大部分标准C语言的运算符, 且改进许多特性来减少常规编码错误.如赋值符 = 不返回值, 以防止错把等号 == 写成赋值号 = 而导致Bug. 数值运算符( + , -, *, /, %等 ...
- JSP中<img>标签引用本地图片
问题描述: jsp页面中<img>标签如何读取本地文件夹中的图片. 问题起因: 由于上传图片至本地文件夹中,图片路径为: D:/upload/file/image/img.jpg 所以将这 ...
- win10系统下点击关机却自动重启的问题解决思路
第一步.进入win10系统后,我们点击开始菜单上鼠标右键,选择控制面板 第二步.找到电源选项,点击进去(如何没发现,点击右上角查看方式,更换为小图标) 第三步.点击选择关闭盖子的功能 第四 ...
- Think different
Here's to the crazy ones.The misfits.The rebels.The troublemakers.The round pegs in the square holes ...
- Dapper学习 - Dapper的基本用法(一) - 查询
上一篇, 提到Query<Test>查询的时候, 如果Test中包含自定义class, Dapper不会给自定义class完成映射, 而是直接给null, 其实是可以实现的, 答案就在下面 ...
- c#隐藏和重写基类方法的异同
最近正在学习c#,对其中的方法重写和隐藏的概念很是模糊,现在将其归纳如下: 1:方法重写:就是在基类中的方法用virtual关键字来标识,然后在继承类中对该类进行重写(override),这样基类中的 ...
- CSRF 攻击介绍
CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/ ...
- jquery基本选择器id
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...