0

i am creating folder from my application. and then upload file on that folder. it works fine in it. but when i use same account on other device and try to upload file on that folder, that time i get Invalid parent folder error.

below is my code which is same as drive demos:

public class CreateFileInFolderActivity extends BaseDemoActivity {

    private DriveId mFolderDriveId;

    @Override
    public void onConnected(Bundle connectionHint) {
        super.onConnected(connectionHint);
        Drive.DriveApi.fetchDriveId(getGoogleApiClient(), EXISTING_FOLDER_ID)
                .setResultCallback(idCallback);
    }

    final private ResultCallback<DriveIdResult> idCallback = new ResultCallback<DriveIdResult>() {
        @Override
        public void onResult(DriveIdResult result) {
            if (!result.getStatus().isSuccess()) {
                showMessage("Cannot find DriveId. Are you authorized to view this file?");
                return;
            }
            mFolderDriveId = result.getDriveId();
            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;
            }
            DriveFolder folder = Drive.DriveApi.getFolder(getGoogleApiClient(), mFolderDriveId);
            MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
                    .setTitle("New file")
                    .setMimeType("text/plain")
                    .setStarred(true).build();
            folder.createFile(getGoogleApiClient(), changeSet, result.getDriveContents())
                    .setResultCallback(fileCallback);
        }
    };

    final private ResultCallback<DriveFileResult> fileCallback =
            new ResultCallback<DriveFileResult>() {
        @Override
        public void onResult(DriveFileResult result) {
            if (!result.getStatus().isSuccess()) {
                Log.e("UPLOAD EXCEL","Error while trying to create the file: "+result.getStatus().getStatusMessage());
                showMessage("Error while trying to create the file");
                return;
            }
            showMessage("Created a file: " + result.getDriveFile().getDriveId());
        }
    };
}
Sagar Maiyad
  • 12,655
  • 9
  • 63
  • 99
  • Anything here http://stackoverflow.com/questions/27592521/android-drive-api-invalid-parent-folder-error – Nabin Jul 07 '15 at 06:30
  • @Nabin i already check that question. i want to know more about it. – Sagar Maiyad Jul 07 '15 at 06:31
  • Does the other account have access to that folder? – Linda Lawton - DaImTo Jul 07 '15 at 07:07
  • @DaImTo i am using same account but on other device. – Sagar Maiyad Jul 07 '15 at 07:08
  • In the link http://stackoverflow.com/questions/27592521/android-drive-api-invalid-parent-folder-error, its mentioned clearly that out side device scope its not good idea to depend on Drive ID as it is from google play. Instead you can use Resource ID,where createFromResourceId() was replaced by Drive.DriveApi.fetchDriveId. Are you looking for any different solution other than this? – SGC Jul 09 '15 at 21:51

0 Answers0