2017-03-19 23 views
0

我试图上传,然后分享谷歌文件在android系统驱动。我能够获得它的文件ID和资源ID。现在,我希望把它公开,以便用户有链接可以访问它。我如何以编程方式执行此操作?我想我在谷歌文件推动公共

回答

0

使用Permissions.create和设置文件到“人”的类型。 下面是来自Manage Sharing in Drive引导代码片段:

String fileId = "1sTWaJ_j7PkjzaBWtNc3IzovK5hQf21FbOw9yLeeLPNQ"; 
JsonBatchCallback<Permission> callback = new JsonBatchCallback<Permission>() { 
    @Override 
    public void onFailure(GoogleJsonError e, 
          HttpHeaders responseHeaders) 
      throws IOException { 
     // Handle error 
     System.err.println(e.getMessage()); 
    } 

    @Override 
    public void onSuccess(Permission permission, 
          HttpHeaders responseHeaders) 
      throws IOException { 
     System.out.println("Permission ID: " + permission.getId()); 
    } 
}; 
BatchRequest batch = driveService.batch(); 
Permission userPermission = new Permission() 
     .setType("user") 
     .setRole("writer") 
     .setEmailAddress("[email protected]"); 
driveService.permissions().create(fileId, userPermission) 
     .setFields("id") 
     .queue(batch, callback); 

Permission domainPermission = new Permission() 
     .setType("domain") 
     .setRole("reader") 
     .setDomain("example.com"); 
driveService.permissions().create(fileId, domainPermission) 
     .setFields("id") 
     .queue(batch, callback); 

batch.execute(); 
+0

我已经尝试过这样做。我得到这个错误说:尝试在空对象引用调用虚拟方法com.google.api.client.googleapis.batch.BatchRequest com.google.api.services.drive.Drive.batch()'。我该怎么办? –

相关问题