実際、Androidアプリからアップロードファイルを取得してダウンロードしています。ただし、セキュリティ上の理由から、アップロードされたファイルのみをダウンロードできるようです。私の目標は、Googleクラウドで作成された特定のファイルをAndroidアプリと共有(編集)することですが、その方法がわかりません。実際、クラウドで作成されたファイルを取得しようとすると、downloadurlフィールドは常にnullに設定されます。もちろん、私はGoogleドライブのユーザーセッションとGoogleAPIの署名済みAndroidアプリに同じアカウントを使用しています。Googleドライブクラウドのファイル権限を変更しようとしましたが、成功しませんでした。いくつかの提案をお願いします...
try {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(gFile.getDownloadUrl());
get.setHeader("Authorization", "Bearer " + token);
HttpResponse response = client.execute(get);
InputStream inputStream = response.getEntity().getContent();
jFolder.mkdirs();
java.io.File jFile = new java.io.File(jFolder.getAbsolutePath() + "/" + gFile.getOriginalFilename()); // getGFileName() is my own method... it just grabs originalFilename if it exists or title if it doesn't.
FileOutputStream fileStream = new FileOutputStream(jFile);
byte buffer[] = new byte[1024];
int length;
while ((length=inputStream.read(buffer))>0) {
fileStream.write(buffer, 0, length);
}
fileStream.close();
inputStream.close();
return jFile;
} catch (IOException e) {
// Handle IOExceptions here...
return null;
}