Ich baue eine Integration zwischen meinen Back-End-Systemen und BOX.BOX: Hinzufügen von Collaboration zu einem Ordner mit dem Benutzer-Token AppUser
Eines der Szenarien ist, dass wenn ein bestimmtes Ereignis in meiner Organisation passiert, ein Ordner in BOX erstellt werden muss und diesem Ordner Kollaborationsobjekte hinzugefügt werden müssen (Gruppen mit dem Ordner verbinden).
Ich habe kein Problem, den Ordner zu erstellen, aber beim Versuch, die Zusammenarbeit zu schaffen, ich die folgende Störung erhalte:
Box.V2.Exceptions.BoxException: Bearer realm = "Service", error = "insufficient_scope ", error_description =" Die Anfrage erfordert höhere Privilegien als das Zugriffstoken. "
Ich verwende BOX SDK für .Net, um mit BOX zu interagieren.
Die Anwendung, die ich in BOX erstellt habe, wurde zugewiesen, um den Benutzertyp AppUser zu verwenden, und ich habe alle Bereiche bereitgestellt, die BOX mir erlaubt (Alle Bereiche außer "Unternehmen verwalten", die deaktiviert ist).
Der Code, der nicht ist (C#):
var privateKey = File.ReadAllText(Settings.JwtPrivateKeyFile);
var boxConfig = new BoxConfig(Settings.ClientID, Settings.ClientSecret, Settings.EnterpriseID, privateKey, Settings.JwtPrivateKeyPassword, Settings.JwtPublicKeyID);
var jwt = BoxJWTAuth(boxConfig);
var token = jwt.AdminToken();
var client = jwt.AdminClient(token);
var addRequest = new BoxCollaborationRequest(){
Item = new BoxRequestEntity() {
Id = folderId,
Type = BoxType.folder
},
AccessibleBy = new BoxCollaborationUserRequest(){
Type = [email protected],
Id = groupId
},
Role = "viewer"
};
var api = client.CollaborationsManager;
var task = api.AddCollaborationAsync(addRequest);
task.Wait();
Wenn dieser Code ausgeführt wird, aber die Admin-Token ersetzt mit Entwickler-Token aus der Box applicaiton Seite bearbeiten erzeugt es funktioniert.
Jede Hilfe
Das hilft nicht wirklich bei der Beantwortung der Frage ... Wie würden die Benutzer "nur Zugang haben", wenn es nicht explizit angegeben ist? – Taegost