Set modify password of an Excel workbook This REST API indicates to protect document from changes.
RSET API
Copy
PUT http://api.aspose.cloud/v3.0/cells/{ name} /writeProtection
The request parameters are:
Parameter Name
Type
Path/Query String/HTTPBody
Description
name
string
path
Document name.
password
body
Modification password.
folder
string
query
Document’s folder.
storageName
string
query
storage name.
The OpenAPI Specification defines a publicly accessible programming interface and lets you carry out REST interactions directly from a web browser.
You can use cURL command-line tool to access Aspose.Cells web services easily. The following example shows how to make calls to Cloud API with cURL.
Cloud SDK Family
Using an SDK is the best way to speed up the development. An SDK takes care of low-level details and lets you focus on your project tasks. Please check out the GitHub repository for a complete list of Aspose.Cells Cloud SDKs.
The following code examples demonstrate how to make calls to Aspose.Cells web services using various SDKs:
C#
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/
namespace Aspose.Cells.Cloud.SDK.Example
{
using Aspose.Cells.Cloud.SDK.Api;
using Aspose.Cells.Cloud.SDK.Request;
using System;
public partial class CellsApiExample
{
public void PutDocumentProtectFromChangesExample()
{
CellsApi cellsApi = new CellsApi(Environment.GetEnvironmentVariable("CellsCloudTestClientId"), Environment.GetEnvironmentVariable("CellsCloudTestClientSecret"));
PutDocumentProtectFromChangesRequest request = new PutDocumentProtectFromChangesRequest { name= "Book1.xlsx", password = new Model.PasswordRequest { Password = "asposelock" }, folder="TestData/In" };
cellsApi.PutDocumentProtectFromChanges(request);
}
}
}
// Obsolete
//CellsWorkbookApi instance = new CellsWorkbookApi(GetConfiguration());
//string name = "Book1.xlsx";
//PasswordRequest password = new PasswordRequest();
//password.Password = "123456";
//string folder = null;
//UpdateDataFile(folder, name);
//var response = instance.CellsWorkbookPutDocumentProtectFromChanges(name, password, folder);
Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.aspose.cloud.cells.api;
import com.aspose.cloud.cells.client.*;
import com.aspose.cloud.cells.model.*;
import com.aspose.cloud.cells.request.*;
import java.io.IOException;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import java.io.File;
import java.util.HashMap;
public class Example {
private CellsApi api;
public Example(){
try {
api = new CellsApi(
System.getenv("CellsCloudClientId"),
System.getenv("CellsCloudClientSecret"),
"v3.0",
System.getenv("CellsCloudApiBaseUrl")
);
} catch (ApiException e) {
e.printStackTrace();
}
}
public void Run(){
try{
String remoteFolder = "TestData/In";
String localName = "Book1.xlsx";
String remoteName = "Book1.xlsx";
UploadFileRequest uploadFileRequest = new UploadFileRequest();
uploadFileRequest.setPath( remoteFolder + "/" + remoteName );
uploadFileRequest.setStorageName( "");
HashMap<String,File> files = new HashMap<String,File>();
files.put( localName , new File(localName ));
uploadFileRequest.setUploadFiles(files);
api.uploadFile(uploadFileRequest);
PasswordRequest password = new PasswordRequest();
password.setPassword("123456");
PutDocumentProtectFromChangesRequest request = new PutDocumentProtectFromChangesRequest();
request.setName(remoteName);
request.setPassword(password);
request.setFolder(remoteFolder);
request.setStorageName("");
CellsCloudResponse response = api.putDocumentProtectFromChanges(request);
} catch (ApiException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
PHP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-php
require_once('vendor\autoload.php');
use \Aspose\Cells\Cloud\Api\CellsApi;
use \Aspose\Cells\Cloud\Request\PutDocumentProtectFromChangesRequest;
class Workbook {
public $instance;
public function __construct() {
$this->instance = new CellsApi(getenv("CellsCloudClientId"),getenv("CellsCloudClientSecret"),"v3.0",getenv("CellsCloudApiBaseUrl"));
}
public function putDocumentProtectFromChanges() {
$remoteFolder = "TestData/In";
$localName = "Book1.xlsx";
$remoteName = "Book1.xlsx";
$password = new \Aspose\Cells\Cloud\Model\PasswordRequest();
$password->setPassword("123456" );
$request = new PutDocumentProtectFromChangesRequest();
$request->setName( $remoteName);
$request->setPassword( $password);
$request->setFolder( $remoteFolder);
$request->setStorageName( "");
$this->instance->putDocumentProtectFromChanges($request);
}
}
$workbook = new Workbook();
$workbook->putDocumentProtectFromChanges();
?>
Ruby
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby
require 'aspose_cells_cloud'
class Document
include AsposeCellsCloud
def initialize
#Get client_id and client_secret from https://cloud.aspose.com
@instance = AsposeCellsCloud::CellsApi.new($client_id,$client_secret,$api_version,$baseurl)
end
def upload_file(file_name)
response = @cells_api.put_create(file_name, File.open("../../../data/" << file_name,"r") { |io| io.read } )
end
# Protect document from changes.
def protect_document_from_changes
name = $BOOK1
password = AsposeCellsCloud::PasswordRequest.new({:Password=>'123456'})
folder = $TEMPFOLDER
result = @instance.upload_file( folder+"/"+name, ::File.open(File.expand_path("data/"+name),"r") {|io| io.read(io.size) })
expect(result.uploaded.size).to be > 0
result = @instance.cells_workbook_put_document_protect_from_changes(name, {:password=>password, :folder=>folder})
end
end
document = Document.new()
puts document.protect_document_from_changes
Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-python
import os
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.models import *
from asposecellscloud.requests import *
api = CellsApi(os.getenv('CellsCloudClientId'),os.getenv('CellsCloudClientSecret'),"v3.0",os.getenv('CellsCloudApiBaseUrl'))
password = PasswordRequest(password= '123456' )
request = PutDocumentProtectFromChangesRequest( 'Book1.xlsx', password,folder= 'PythonTest',storage_name= '')
api.put_document_protect_from_changes(request)
Node.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { CellsApi, UploadFileRequest, CellsWorkbook_PutDocumentProtectFromChangesRequest,PasswordRequest } = require("asposecellscloud");
const clientId = process.env.CellsCloudClientId;
const clientSecret = process.env.CellsCloudClientSecret;
const ApiURL = process.env.CellsCloudApiBaseUrl;
const fs = require('fs');
const path = require('path');
const cellsApi = new CellsApi(clientId, clientSecret,"v3.0",ApiURL);
const localPath = "D:/aspose-cells-cloud-node/TestData/"
const filename = "Book1.xlsx";
const data =fs.createReadStream(path.join(localPath, filename));
const req = new UploadFileRequest({
path: "Temp/" + filename,
file: data
});
cellsApi.uploadFile(req)
.then((result) => {
const req = new CellsWorkbook_PutDocumentProtectFromChangesRequest();
req.name = filename;
req.folder = "Temp";
const password = new PasswordRequest();
req.password.password = "123456";
cellsApi.cellsWorkbookPutDocumentProtectFromChanges(req)
.then((result) => {
console.log("successful")
}).catch((error) => {
console.error('Unhandled Promise Rejection:', error);
})
})
Android
Swift
Perl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-perl/
use strict;
use warnings;
use utf8;
use File::Slurp;
use MIME::Base64;
use AsposeCellsCloud::CellsApi;
my $config = AsposeCellsCloud::Configuration->new( client_id => $ENV{'ProductClientId'}, client_secret => $ENV{'ProductClientSecret'});
my $instance = AsposeCellsCloud::CellsApi->new(AsposeCellsCloud::ApiClient->new( $config));
my $remoteFolder = 'TestData/In';
my $remoteName = 'Book1.xlsx';
my $protection = AsposeCellsCloud::Object::ProtectWorkbookRequest->new();
$protection->{encrypt_with_password} = '123456' ;
$protection->{aways_open_read_only} = 'true' ;
my $request = AsposeCellsCloud::Request::PostProtectWorkbookRequest->new();
$request->{name} = $remoteName;
$request->{protectWorkbookRequest} = $protection;
$request->{folder} = $remoteFolder;
$request->{storage_name} = '';
my $result = $api->post_protect_workbook(request=> $request);
Go
Swift