I can't perform a search using metadata. It wants a scope that I can't provide. Here's what I did:
1. Create a template:
var template = new BoxMetadataTemplate
{
DisplayName = "Folder Management",
TemplateKey = "folderManagement",
Scope = "enterprise",
Fields = Fields // defined elsewhere
};
client.MetadataManager.CreateMetadataTemplate(template).Wait();
2. Save metadata:
await boxClient
.MetadataManager
.SetFolderMetadataAsync(
folderId: folderId, // defined elsewhere
metadata: metaData, // defined elsewhere
scope: "enterprise",
template: "folderManagement"
);
3. Search using metadata:
var searchResults = await boxClient.MetadataManager.ExecuteMetadataQueryAsync(
from: "enterprise.folderManagement", // this is the issue
ancestorFolderId: "0",
query: "managers IS NOT NULL",
queryParameters: new Dictionary
{
{ "userEmail", userEmail }
}
);
4. Get Error:
BoxException: The API returned an error [BadRequest | nte3svgf6fuxyq0k.0294efea317bc791862ab534ff2055d79] invalid_query - Failed to parse query: Invalid input '.', expected simpleIdentifierTail (line 1, pos 11):
enterprise.folderManagement^