android - 我如何使用 Android 应用程序创建和上传谷歌电子表格?

标签 android spreadsheet google-drive-android-api

我花了太多时间在这上面,所以我想问一下。我想使用 android 创建和上传 google 电子表格。我知道我应该使用 Drive API 来执行此操作。我知道如何使用此 API 创建文件(甚至是 excel 文件)但是当 setMimeType 设置为 application/vnd.google-apps.spreadsheet 我在设备上收到错误消息: 尝试创建文件时出错。

    @Override
public void onConnected(Bundle connectionHint) {
    super.onConnected(connectionHint);
    // create new contents resource
    Drive.DriveApi.newDriveContents(getGoogleApiClient())
            .setResultCallback(driveContentsCallback);
}

final private ResultCallback<DriveContentsResult> driveContentsCallback = new
        ResultCallback<DriveContentsResult>() {
            @Override
            public void onResult(DriveContentsResult result) {
                if (!result.getStatus().isSuccess()) {
                    showMessage("Error while trying to create new file contents");
                    return;
                }
                final DriveContents driveContents = result.getDriveContents();

                // Perform I/O off the UI thread.
                new Thread() {
                    @Override
                    public void run() {
                        // write content to DriveContents
                        OutputStream outputStream = driveContents.getOutputStream();
                        Writer writer = new OutputStreamWriter(outputStream);
                        try {
                            writer.write("Hello World!");
                            writer.write("Hello World!");
                            writer.close();
                        } catch (IOException e) {
                            Log.e(TAG, e.getMessage());
                        }

                        MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
                                .setTitle("Orders")
                                .setMimeType("application/vnd.google-apps.spreadsheet")
                                .setStarred(true).build();



                        // create a file on root folder
                        Drive.DriveApi.getRootFolder(getGoogleApiClient())
                                .createFile(getGoogleApiClient(), changeSet, driveContents)
                                .setResultCallback(fileCallback);
                    }
                }.start();
            }
        };

final private ResultCallback<DriveFileResult> fileCallback = new
        ResultCallback<DriveFileResult>() {
            @Override
            public void onResult(DriveFileResult result) {
                if (!result.getStatus().isSuccess()) {
                    showMessage("Error while trying to create the file");
                    return;
                }
                showMessage("Created a file with content: " + result.getDriveFile().getDriveId());
                storeId(result.getDriveFile().getDriveId());
                kill_activity();
            }
        };v

最佳答案

GDAA 目前不支持创建 Google 文档文件。您将不得不使用 Google Drive REST API在您的 Android 应用程序中执行此操作。

关于android - 我如何使用 Android 应用程序创建和上传谷歌电子表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34067691/

相关文章:

google-drive-api - Google API 客户端的多个实例?

android-studio - 如何使用Kotlin从Google云端硬盘获取信息?

android - 如何为前 Lollipop 创建涟漪效果

android - 如何使用 Mediarecorder 捕获像 instagram 和 vine 这样的视频广场

database - 当它们满足另一列中的条件时,我需要计算 Excel 中一列中的值

regex - 将字符串(2022 年 2 月 16 日 20 小时 50 分钟)转换为 Google Sheet 中的日期时间格式

android - getText 不可访问

android - SwipeRefreshLayout 在 API 4.2.2 上卡住

java - 将来自 Android 应用程序的输入发送到 Google 文档电子表格

java - 使用 android api 进行谷歌驱动器配额驱动器