2017-01-09 2 views
0

Ich baue eine Anwendung, die einige Laufwerksfunktionen implementiert. Jetzt versuche ich eine Datei mit dem Google-API-Ruby-Client-Juwel zu teilen. Ich habe einige Probleme mit dem nächsten Code.Schienenantrieb Rest Api | Sharing-Datei mit Google API-Client gem

#Here, I create a DriveService object and I authorize it. 
#This works fine. In my app I list drive files well. 
@drive = Google::Apis::DriveV3::DriveService.new 
@drive.authorization = @token[:access_token] 

#Here, first I create a permission object with some parameters 
#Then I call create_permission to share the file to a other user 
per=Google::Apis::DriveV3::Permission.new(type: "user", role: "writer",email_address: "[email protected]") 
@drive.create_permission(file_id:"0B8XBWuVEmvN8YS01OXNUcHhOYWs",permission_object: per, fields: "id", &callback) 

Wenn ich diesen Code ausführen, zeigt der Rückruf dies:

{ 
"error": { 
"errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "The permission type field is required.", 
    "locationType": "other", 
    "location": "permission.type" 
    } 
    ], 
    "code": 400, 
    "message": "The permission type field is required." 
} 

}

ich diesen Fehler nicht lösen kann. Kann mir jemand helfen?

+0

Der Debugger zeigt auf die @ drive.create_permission Zeile –

Antwort

0

Da der Debugger auf die Zeile @ drive.create_permission zeigt, bedeutet dies, dass er in dieser Zeile nach der Berechtigung "type" sucht. Versuchen Sie, Ihre Feldwerte Hinzufügen

type: "user", role: "writer" 

zu dieser Linie, so dass es wie folgt aussehen:

@drive.create_permission(file_id:"0B8XBWuVEmvN8YS01OXNUcHhOYWs",type: "user", role: "writer", permission_object: per, fields: "id", &callback) 
+0

Funktioniert nicht, ich denke, der Fehler ist mit dem Objekt "per" verwandt. http://www.rubydoc.info/github/google/google-api-ruby-client/Google/Apis/DriveV3/DriveService. Hier können Sie die Dokumentation sehen –

0

Ich weiß nicht, warum, wenn ich eine Erlaubnis Objekt übergeben, wie die Dokumentation sagt dies nicht Werke, so dass die richtige Form, und die einzige für mich, die

user_permission = {type: "user", role: "writer", email_address: "[email protected]"} 
@drive.create_permission(current_user.fileId, user_permission, send_notification_email: false, fields: 'id', &callback) 
0

falls jemand ist mit dem google javascript-Bibliothek ist es funktioniert ‚Ressource, der Feldname auf die Berechtigung für die Berechtigungsstruktur erstellen '