我遵循了JWT通过身份验证的应用程序的.NET SDK文档化中的步骤,但是一直在获取.NET方法上的空项集合。
我已经为它配置了企业应用程序访问权限并授权它.
身份验证似乎没有问题,因为在创建BoxJWTAuth对象时没有异常。
var reader = new StreamReader(@"PathToJSONConfigFile");
var json = reader
.ReadToEnd();
var config = BoxConfig
.CreateFromJsonString(json);
var sdk = new BoxJWTAuth(config);
var token = sdk
.AdminToken();
var adminClient = sdk
.AdminClient(token);
var folders = await adminClient
.FoldersManager
.GetFolderItemsAsync("0", 500, fields: new string[] { BoxCollection.FieldEntries });
发布于 2020-02-14 11:55:17
我自己想出来的。
以防有人面临同样的问题。我试图用自动生成的管理客户端访问文件夹。显然,这种类型的客户端没有获得文件夹列表的授权。
您必须获得企业用户,并使用用户id实例化用户客户端对象。
var boxUsers = await adminClient.UsersManager.GetEnterpriseUsersAsync();
var user= boxUsers
.Entries
.FirstOrDefault(x => x.Login.Contains("user"));
var cli = new BoxClient(config, auth, asUser: user.Id);
try
{
var fold = await cli
.FoldersManager
.GetFolderItemsAsync("0", 500, fields: new string[] { BoxCollection.FieldEntries, BoxItem.FieldName, BoxItem.FieldSharedLink, BoxItem.FieldPathCollection });
https://stackoverflow.com/questions/60167066
复制相似问题