そこで、Androidからファイルやフォルダの作成や、共有設定についてメモとして残しておきます
フォルダを作成する
フォルダはmimeTypeを指定するだけでファイルと同じように作るのがポイントですね
File folder = new File();
folder.setTitle("testhogehoge");
folder.setMimeType("application/vnd.google-apps.folder");
File testFile = service.files().insert(folder).execute();
参考:https://developers.google.com/drive/v2/reference/files?hl=ja
フォルダの共有設定を指定する
ここでは、フォルダを一般公開するように設定していますFile folder = new File();
folder.setTitle("testhogehoge");
folder.setMimeType("application/vnd.google-apps.folder");
File testFile = service.files().insert(folder).execute();
// フォルダのパーミッションを設定
Permission permission = new Permission();
permission.setValue("");
permission.setType("anyone");
permission.setRole("reader");
service.permissions().insert(testFile.getId(), permission).execute();
フォルダを作成したあとでPermissionを作成するのがポイントですね
試しに、フォルダにsetPermissionしても設定できませんでした
フォルダの中にファイルを作る
ここでは画像をアップロードするようにしていますjava.io.File fileContent = new java.io.File(fileUri.getPath());
FileContent mediaContent = new FileContent("image/jpeg", fileContent);
File body = new File();
ParentReference parentReference = new ParentReference();
parentReference.setId(testFile.getId());
List<ParentReference> parents = new ArrayList<ParentReference>();
parents.add(parentReference);
body.setParents(parents);
body.setTitle(fileContent.getName());
body.setMimeType("image/jpeg");
File file = service.files().insert(body, mediaContent).execute();
まとめ
少し前にGoogle Driveで静的コンテンツを公開する事が可能となりました
これにより、簡単なWebサイトが作れるようになった訳です
※作成した公開フォルダへのアクセスURLは、フォルダのgetWebViewLinkで取得できます
そうなると、AndroidでHTMLを作成してGoogle Driveに公開できるようになります
上に記載した操作で簡単なWebサイト作成ツールアプリになりますね
今回作っているアプリはそういったものでは無いのですが、いずれ作ってみようかなー