2017-01-09 46 views
0

我正在構建一個實現一些驅動器功能的應用程序。現在我試圖使用google-api-ruby-client gem共享一個文件。我有一些麻煩使用下一個代碼。Rails Drive Rest Api |使用谷歌api客戶端共享文件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) 

當我執行這個代碼,回調錶明這一點:

{ 
"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." 
} 

}

我解決不了這個錯誤。有人能幫我嗎?

+0

調試器指向@ drive.create_permission行 –

回答

0

由於調試器指向@ drive.create_permission行,這意味着它正在尋找該行的'type'權限。試着增加你的字段值

type: "user", role: "writer" 

該行因此它看起來就像這樣:

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

不起作用,我認爲它與對象「per」有關的錯誤。 http://www.rubydoc.info/github/google/google-api-ruby-client/Google/Apis/DriveV3/DriveService。在這裏你可以看到文檔 –

0

我不知道爲什麼,如果我通過一個權限對象,像文件說,這不作品,所以正確的形式,誰對我的作品的只是它

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

的情況下,任何人使用谷歌JavaScript庫,在許可的字段名稱的權限結構創建的「資源'