2017-03-19 5 views
0

アンドロイドのGoogleドライブでファイルをアップロードして共有しようとしています。ファイルIDとリソースIDを取得できました。今私はリンクを持つユーザーがそれにアクセスできるように公開する必要があります。プログラムでどのように行うのですか?Googleドライブでファイルを公開したい

答えて

0

Permissions.createを使用し、ファイルの種類を「誰でも」に設定します。私はまだ行ってみました

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

: ここManage Sharing in Driveガイドからのコードスニペットです。このエラーは次のようになります。nullオブジェクト参照で仮想メソッド 'com.google.api.client.googleapis.batch.BatchRequest com.google.api.services.drive.Drive.Batch()'を呼び出しようとしました。私は何をすべきか? –

関連する問題