Todos os produtos
Search
Central de documentação

Intelligent Media Management:GenerateWebofficeToken

Última atualização: Jun 29, 2026

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.

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. .

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

imm:GenerateWebofficeToken

none

*Project

acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}

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://${Bucket}/${Object}, onde Bucket é o nome de um bucket do OSS na mesma região do projeto atual, e Object é o caminho completo do arquivo, incluindo a extensão do nome do arquivo.

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):

  • Documentos do Word: doc, docx, txt, dot, wps, wpt, dotx, docm, dotm e rtf

  • Documentos do PowerPoint: 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.

test-Object.pptx

CachePreview

boolean

Não

Especifica se a visualização em cache deve ser ativada.

  • true: Quando ativada, a visualização do documento não atualiza mais o conteúdo de edição colaborativa. Isso é adequado para cenários apenas de visualização.

  • false: Quando desativada, a visualização colaborativa é usada por padrão, o que sincroniza o conteúdo de edição colaborativa durante a visualização.

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:

  • true: O upload de um arquivo com o mesmo nome para o OSS é um comportamento esperado. O documento carregado substitui o documento original e gera uma nova versão. Depois que este parâmetro for definido como true, você deve primeiro fechar o documento que está sendo editado, aguardar cerca de 5 minutos e, em seguida, reabri-lo para carregar o novo documento. O upload só entra em vigor quando o documento é fechado. Se o documento estiver aberto, novos salvamentos substituirão o arquivo carregado.

  • false (padrão): O upload de um arquivo com o mesmo nome para o OSS não é um comportamento esperado. A operação retorna um erro.

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 (padrão): A barra de ferramentas não é ocultada.

  • true: A barra de ferramentas é ocultada.

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.

  • Readonly (opcional): Modo de visualização.

  • Rename (opcional): A permissão para renomear um arquivo. Apenas a notificação de mensagem é fornecida. O evento de renomeação é enviado para o MNS.

  • History (opcional): A permissão para visualizar versões históricas.

  • Copy (opcional): A permissão de cópia.

  • Export (opcional): A permissão para exportar para PDF.

  • Print (opcional): A permissão de impressão.

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.