Obtém as credenciais de visualização e edição de um documento.
Descrição da operação
-
Antes de usar esta operação, certifique-se de estar familiarizado com a cobrança do Intelligent Media Management. Para mais informações, consulte Preços.
-
Não realize acesso transfronteiriço a arquivos do OSS. Por exemplo, se um arquivo estiver armazenado em um bucket na região de Cingapura, não inicie solicitações de visualização, leitura ou download a partir da China continental. Nesses cenários, a qualidade do link de rede é significativamente afetada pelo ambiente de rede transfronteiriço, o que pode causar aumento na latência de acesso, falhas de visualização, interrupções de download ou conexões instáveis. A estabilidade da rede e a experiência de acesso não podem ser garantidas. Certifique-se de que o ponto de acesso e o bucket estejam na mesma região para evitar incertezas causadas pelo acesso transfronteiriço.
-
A credencial de acesso expira em 30 minutos e a credencial de atualização expira em 1 dia.
-
O tempo de expiração retornado está em UTC, que está 8 horas atrás do UTC+8.
-
Formatos de arquivo de entrada suportados:
Documentos do Word: doc, docx, txt, dot, wps, wpt, dotx, docm, dotm e rtf.
Documentos de apresentação (PPT): ppt, pptx, pptm, ppsx, ppsm, pps, potx, potm, dpt e dps.
Documentos do Excel: et, xls, xlt, xlsx, xlsm, xltx, xltm e csv.
Documentos PDF: pdf.
-
O tamanho máximo de arquivo suportado é de 200 MB.
-
O número máximo de páginas de documento suportado é 5.000.
-
Para projetos criados antes de 1º de dezembro de 2023, a cobrança é baseada no número de aberturas de documentos. Atualmente, a cobrança é baseada no número de chamadas de API. Para mudar para o novo modo de cobrança, crie um novo projeto. Observe que cada chamada de API pode ser usada por apenas um usuário. Se a chamada for reutilizada, apenas o último usuário poderá acessar o documento normalmente, e as permissões de acesso de outros usuários serão revogadas.
-
Ative o Message Service (MNS) na mesma região do Intelligent Media Management, crie um tópico e uma fila e configure uma assinatura. Você pode passar o nome do tópico MNS usando o parâmetro NotifyTopicName para receber notificações de mensagens sobre salvamentos de arquivos. Para mais informações sobre o SDK do MNS, consulte Receber e excluir mensagens. Para um exemplo do formato JSON do campo Message nas notificações de mensagens de salvamento de arquivos, consulte Formato de notificação de mensagens do WebOffice.
Para usar o recurso de versionamento, você deve primeiro ativar o versionamento no OSS e, em seguida, definir o parâmetro History como true. .
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
imm:GenerateWebofficeToken |
none |
*Project
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| ProjectName |
string |
Sim |
O nome do projeto. Para obter informações sobre como obter o nome do projeto, consulte Criar um projeto. |
test-project |
| SourceURI |
string |
Sim |
O URI do OSS do documento a ser visualizado ou editado. O URI do OSS segue o formato |
oss://test-bucket/test-object.docx |
| Filename |
string |
Não |
O nome do arquivo, que deve incluir a extensão do nome do arquivo. O valor padrão é o último segmento do parâmetro SourceURI. Extensões de nome de arquivo suportadas (o PDF suporta apenas visualização):
|
test-Object.pptx |
| CachePreview |
boolean |
Não |
Especifica se a visualização em cache deve ser ativada.
Importante A visualização em cache e a visualização sem cache têm preços unitários diferentes. Para mais informações, consulte a descrição do item de cobrança.
Importante A visualização em cache não suporta pesquisa de conteúdo do documento ou impressão. Importante A visualização em cache não suporta a atualização de conteúdo em cache. |
true |
| Referer |
string |
Não |
O referer de proteção contra hotlink do OSS. O Intelligent Media Management (IMM) precisa recuperar o arquivo de origem do OSS. Se a proteção contra hotlink estiver configurada para o OSS, o IMM deve passar o cabeçalho correspondente para o OSS para recuperar o arquivo de origem. Nota
Defina este parâmetro se o bucket que armazena o documento tiver um referer configurado. |
* |
| UserData |
string |
Não |
Os dados personalizados do usuário. Este parâmetro entra em vigor apenas quando o parâmetro Notification é especificado com configurações do MNS. Os dados são retornados em notificações de mensagens assíncronas para que você associe e processe notificações de mensagens dentro do seu sistema. Comprimento máximo: 2.048 bytes. |
{ "id": "test-id", "name": "test-name" } |
| PreviewPages |
integer |
Não |
O número máximo de páginas que podem ser visualizadas. Por padrão, nenhum limite é imposto. O valor máximo é 5.000. |
5 |
| Password |
string |
Não |
A senha para abrir o documento. Nota
Defina este parâmetro se desejar visualizar ou editar um documento protegido por senha. |
123456 |
| ExternalUploaded |
boolean |
Não |
Especifica se o upload de um arquivo com o mesmo nome para o OSS é um comportamento esperado. Valores válidos:
|
false |
| NotifyTopicName |
string |
Não |
Envia notificações de eventos para você como mensagens do MNS. Este parâmetro especifica o tópico do MNS para notificações de mensagens assíncronas. |
test-topic |
| Hidecmb |
boolean |
Não |
Especifica se a barra de ferramentas deve ser ocultada. Este parâmetro é suportado no modo de visualização de documentos. Valores válidos:
|
false |
| Permission | WebofficePermission |
Não |
As informações de permissão do usuário no formato JSON. As permissões do usuário incluem as seguintes opções: Cada opção é do tipo Boolean. O valor padrão é false. Valores válidos: true e false.
Nota
O PDF suporta apenas o recurso de visualização. Você deve definir o parâmetro Readonly como true. Nota
Os arquivos PDF não suportam exportação. Nota
Para usar o recurso de versionamento, você deve primeiro ativar o versionamento no OSS e, em seguida, definir o parâmetro History como true. Importante A impressão não é suportada na visualização em cache. Importante As versões históricas podem ser visualizadas no modo de edição, mas não no modo de visualização. |
|
| User | WebofficeUser |
Não |
As informações do usuário. Você pode passar as informações do usuário do lado do negócio, e a página do WebOffice exibirá essas informações. O sistema distingue diferentes usuários por User.Id. User.Name é usado apenas para exibição no frontend. Se User.Id não for especificado, o backend gera automaticamente um ID aleatório. Usuários com IDs diferentes são tratados como principais diferentes e não podem modificar ou excluir os comentários uns dos outros. O formato padrão é: Unknown_RandomString. Se User.Id não for especificado, as informações do usuário serão exibidas como "Unknown" por padrão. |
|
| Watermark | WebofficeWatermark |
Não |
As informações da marca d'água. A marca d'água é gerada no frontend e não é gravada no documento de origem. Diferentes parâmetros passados para o mesmo documento produzem diferentes marcas d'água. |
|
| CredentialConfig | CredentialConfig |
Não |
Deixe este parâmetro vazio, a menos que você tenha requisitos específicos. A configuração de autorização da China. Este parâmetro é opcional. Para mais informações, consulte Usar autorização encadeada para acessar recursos de outras entidades. |
|
| Notification | Notification |
Não |
A configuração de notificação. Atualmente, apenas o MNS é suportado. Para o formato das mensagens de notificação assíncronas, consulte Formato de notificação de mensagens do WebOffice. Nota
As notificações de mensagens são enviadas quando um arquivo é salvo ou renomeado. |
Exemplos de cenários típicos
Os exemplos a seguir descrevem alguns cenários típicos com base na estrutura de parâmetros:
Visualizar um arquivo somente leitura (obrigatório para visualização de arquivos PDF)
Modo de visualização de documento. O documento só pode ser visualizado e não pode ser editado:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.pdf",
"Filename" : "test-object.docx",
"PreviewPages" : "5",
"Permission" : "{'Readonly':'true'}"
}
Visualizar um arquivo com extensão de nome de arquivo em maiúsculas
Para visualizar um arquivo com extensão de nome de arquivo em maiúsculas, defina o parâmetro Filename com uma extensão em minúsculas:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.DOCX",
"Filename" : "test-object.docx",
"PreviewPages" : "5",
"Permission" : "{'Readonly':'true'}"
}
Visualizar apenas as 5 primeiras páginas de um documento
O documento tem 10 páginas no total. Apenas as 5 primeiras páginas são exibidas:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"PreviewPages" : "5",
"Permission" : "{'Readonly':'true'}"
}
Definir uma senha para visualização de documento
Defina uma senha para visualização de documento ou abra diretamente um arquivo de origem protegido por senha sem exigir uma senha:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Password" : "123456",
"Permission" : "{'Readonly':'true'}"
}
Adicionar uma marca d'água à visualização de documento
Adicione uma marca d'água ao visualizar um documento:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Watermark" : "{'Type':'1','Value':'水印值','Font':'bold 20px Serif'}",
"Permission" : "{'Readonly':'true'}"
}
Ocultar a barra de ferramentas durante a visualização do documento
Oculte a barra de ferramentas ao visualizar um documento:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Hidecmb" : "true",
"Permission" : "{'Readonly':'true'}"
}
Editar um documento online com permissões para visualizar versões históricas, copiar, imprimir e exportar para PDF
Edite um documento online com permissões para visualizar versões históricas, copiar, imprimir e exportar para PDF:
{
"ProjectName" : "test-project",
"SourceURI" : "oss://test-bucket/test-object.docx",
"Filename" : "test-object.docx",
"Permission" : "{'Readonly':'false','History':'true','Copy':'true','Print':'true','Export':'true'}"
}
```.
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
As credenciais de acesso do WebOffice. |
||
| RequestId |
string |
O ID da solicitação. |
1759315A-CB33-0A75-A72B-62D7******** |
| WebofficeURL |
string |
A URL de entrada do WebOffice para visualizar ou editar documentos online. Nota
Esta URL não pode ser aberta diretamente em um navegador. Você deve usá-la junto com o JS-SDK do WebOffice e a credencial de acesso (AccessToken) para visualizar ou editar documentos. Para mais informações, consulte Introdução. |
https://office-cn-shanghai.imm.aliyuncs.com/office/s/dd221b2cdb44fb66e9070d1d70a8b9bbb6d6fff7?_w_tokentype=1 |
| AccessToken |
string |
A credencial de acesso do WebOffice. |
2d73dd5d87524c5e8a194c3eb5******** |
| RefreshToken |
string |
A credencial de atualização do WebOffice. |
e374995ec532432bb678074d36******** |
| AccessTokenExpiredTime |
string |
O tempo de expiração da credencial de acesso. A credencial expira em 30 minutos. Formato: YYYY-MM-DDTHH:mm:ss. |
2021-08-30T13:13:11.347146982Z |
| RefreshTokenExpiredTime |
string |
O tempo de expiração da credencial de atualização. A credencial expira em 1 dia. Formato: YYYY-MM-DDTHH:mm:ss. |
2021-08-31T12:43:11.347146982Z |
Erros comuns.
O projeto especificado por ProjectName não foi encontrado. Acesse o console do IMM e verifique se o projeto existe na região.
{
"Code": "ResourceNotFound",
"Message": "The specified resource acs:imm::xxx:project/xxx is not found"
}
```.
O parâmetro User é obrigatório. Verifique se este parâmetro foi especificado.
{ "Code": "InvalidArgument.User", "Message": "The parameter User is required but not provided" }
O parâmetro User é inválido. Verifique se o valor do parâmetro está no formato JSON válido.
{ "Code": "InvalidJSON parsing error, User", "Message": "Specified parameter JSON parsing error, User is not valid." }
O parâmetro Permission é inválido. Verifique se o valor do parâmetro está no formato JSON válido.
{ "Code": "InvalidJSON parsing error, Permission", "Message": "Specified parameter JSON parsing error, Permission is not valid." }
O parâmetro Watermark é inválido. Verifique se o valor do parâmetro está no formato JSON válido.
{ "Code": "InvalidJSON parsing error, Watermark", "Message": "Specified parameter JSON parsing error, Watermark is not valid." }
O formato do parâmetro PreviewPages é inválido. Verifique o valor do parâmetro PreviewPages.
{ "Code": "InvalidPreviewPages", "Message": "Specified parameter PreviewPages is not valid." }
O arquivo do OSS especificado por SourceURI não existe. Verifique se o arquivo existe no bucket.
{ "Code": "ResourceNotFound", "Message": "The specified resource oss://xx is not found" }
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "1759315A-CB33-0A75-A72B-62D7********",
"WebofficeURL": "https://office-cn-shanghai.imm.aliyuncs.com/office/s/dd221b2cdb44fb66e9070d1d70a8b9bbb6d6fff7?_w_tokentype=1",
"AccessToken": "2d73dd5d87524c5e8a194c3eb5********",
"RefreshToken": "e374995ec532432bb678074d36********",
"AccessTokenExpiredTime": "2021-08-30T13:13:11.347146982Z",
"RefreshTokenExpiredTime": "2021-08-31T12:43:11.347146982Z"
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.