GoogleドライブSDKを使用して、AndroidアプリケーションからGoogleドライブに新しいドキュメントを作成しようとしています。認証が機能しており、次のコードを使用して簡単なテキストファイルを作成できました。
// com.google.api.services.drive.model.File
File newFile = new File();
newFile.setTitle("Test");
newFile.setMimeType("text/plain");
String contentStr = "This is a test file";
try {
File insertedFile = drive.files().insert(
newFile, ByteArrayContent.fromString("text/plain", contentStr)).execute();
} catch (IOException e) {
e.printStackTrace();
}
「text/plain」を「application/vnd.google-apps.document」に変更し、コンテンツなしでファイルを挿入すると、ファイルは機能し、新しいドキュメントがGoogleドライブに作成されます。
// com.google.api.services.drive.model.File
File newFile = new File();
newFile.setTitle("Test");
newFile.setMimeType("application/vnd.google-apps.document");
try {
File insertedFile = drive.files().insert(newFile).execute();
} catch (IOException e) {
e.printStackTrace();
}
しかし、コンテンツを含む新しいドキュメントをアップロードしたいのですが、プレーンテキストファイルと同じアプローチを使用する場合は次のようになります。
// com.google.api.services.drive.model.File
File newFile = new File();
newFile.setTitle("Test");
String fileType = "application/vnd.google-apps.document";
newFile.setMimeType(fileType);
try {
File insertedFile = drive.files().insert(
newFile, ByteArrayContent.fromString(fileType, contentStr)).execute();
} catch (IOException e) {
e.printStackTrace();
}
このエラーが発生します:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Bad Request",
"reason" : "badRequest"
} ],
"message" : "Bad Request"
}
そして、ファイルは作成されません。誰か助けてもらえますか?