Установите пароль для изменения рабочей книги Excel. Этот REST API указывает на защиту документа от изменений.
РСЕТ API
Copy
PUT http://api.aspose.cloud/v3.0/cells/{ name} /writeProtection
Параметры запроса:
Имя параметра
Тип
Путь/строка запроса/HTTPBody
Описание
имя
нить
путь
Название документа.
пароль
тело
Пароль модификации.
папка
нить
запрос
Папка документа.
имя_хранилища
нить
запрос
имя хранилища.
Спецификация OpenAPI определяет общедоступный интерфейс программирования и позволяет выполнять взаимодействие с REST непосредственно из веб-браузера.
Вы можете использовать инструмент командной строки cURL для легкого доступа к веб-службам Aspose.Cells. В следующем примере показано, как позвонить на Cloud API с помощью cURL.
Семейство облачных SDK
Использование SDK — лучший способ ускорить разработку. SDK заботится о деталях низкого уровня и позволяет вам сосредоточиться на задачах проекта. Пожалуйста, ознакомьтесь сРепозиторий GitHub для получения полного списка Aspose.Cells Cloud SDK.
Следующие примеры кода демонстрируют, как выполнять вызовы веб-служб Aspose.Cells с использованием различных SDK:
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