全部产品
Search
文档中心

:GenerateWebofficeToken

更新时间:Jan 27, 2026

Menghasilkan kredensial akses untuk pratinjau dan pengeditan dokumen.

Deskripsi operasi

  • Sebelum menggunakan API ini, pastikan Anda memahami sepenuhnya metode penagihan dan harga Intelligent Media Management (IMM).

  • Kredensial akses berlaku selama 30 menit, sedangkan kredensial refresh berlaku selama 1 hari.

  • Waktu kedaluwarsa yang dikembalikan dalam UTC, yaitu 8 jam di belakang UTC+8.

  • Format file input yang didukung:

    • Dokumen pengolah kata (Word): doc, docx, txt, dot, wps, wpt, dotx, docm, dotm, dan rtf.

    • Dokumen presentasi (PPT): ppt, pptx, pptm, ppsx, ppsm, pps, potx, potm, dpt, dan dps.

    • Dokumen spreadsheet (Excel): et, xls, xlt, xlsx, xlsm, xltx, xltm, dan csv.

    • Dokumen PDF: pdf.

  • Ukuran file maksimum adalah 200 MB.

  • Jumlah halaman maksimum adalah 5.000.

  • Untuk proyek yang dibuat sebelum 1 Desember 2023, penagihan didasarkan pada jumlah kali dokumen dibuka. Untuk proyek baru, penagihan didasarkan pada jumlah panggilan API. Untuk beralih ke model penagihan baru, Anda harus membuat proyek baru. Perhatikan bahwa satu panggilan API hanya dapat digunakan oleh satu pengguna. Jika panggilan API yang sama digunakan oleh beberapa pengguna, hanya pengguna terakhir yang dapat mengakses dokumen, dan izin akses pengguna lain akan dicabut.

  • Aktifkan Message Service (MNS) di wilayah yang sama dengan IMM. Buat topik dan antrian, lalu konfigurasikan hubungan langganan. Anda kemudian dapat meneruskan nama topik MNS dalam parameter NotifyTopicName untuk menerima notifikasi ketika file disimpan. Untuk informasi lebih lanjut tentang kit pengembangan perangkat lunak (SDK) MNS, lihat Menerima dan menghapus pesan. Untuk contoh format JSON bidang Message dalam notifikasi penyimpanan file, lihat Format pesan notifikasi WebOffice.

Catatan

Untuk menggunakan fitur multi-versi, Anda harus terlebih dahulu mengaktifkannya di Object Storage Service (OSS), lalu mengatur parameter History ke true.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

imm:GenerateWebofficeToken

none

*Project

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

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

ProjectName

string

Yes

Nama proyek. Untuk informasi lebih lanjut tentang cara mendapatkan nama proyek, lihat Buat proyek.

test-project

SourceURI

string

Yes

URL OSS dokumen yang akan dipratinjau atau diedit.

URL harus dalam format oss://${Bucket}/${Object}. Bucket adalah nama bucket OSS di wilayah yang sama dengan proyek saat ini. Object adalah path lengkap file, termasuk ekstensi nama file.

oss://test-bucket/test-object.docx

Filename

string

No

Nama file, yang harus menyertakan ekstensi nama file. Nilai default adalah bagian terakhir dari parameter SourceURI.

Ekstensi nama file yang didukung (file PDF hanya bisa dilihat):

  • Dokumen pengolah kata (Word): doc, docx, txt, dot, wps, wpt, dotx, docm, dotm, dan rtf

  • Dokumen presentasi (PPT): ppt, pptx, pptm, ppsx, ppsm, pps, potx, potm, dpt, dan dps

  • Dokumen spreadsheet (Excel): et, xls, xlt, xlsx, xlsm, xltx, xltm, dan csv

  • Dokumen PDF: pdf

test-Object.pptx

CachePreview

boolean

No

Menentukan apakah pratinjau di-cache:

  • true: Saat diaktifkan, konten pengeditan kolaboratif tidak diperbarui selama pratinjau dokumen. Cocok untuk skenario pratinjau saja.

  • false: Saat dinonaktifkan, pratinjau kolaboratif digunakan secara default. Artinya konten pengeditan kolaboratif diperbarui secara real time selama pratinjau.

Penting Harga satuan untuk pratinjau yang di-cache berbeda dengan pratinjau yang tidak di-cache. Untuk informasi lebih lanjut, lihat deskripsi penagihan.
Penting Pencarian konten dokumen dan pencetakan tidak didukung dalam mode pratinjau cache.
Penting Pembaruan konten cache saat ini tidak didukung.

true、false

Referer

string

No

Perlindungan hotlink OSS. IMM perlu mengambil file sumber dari OSS. Jika perlindungan hotlink dikonfigurasi untuk OSS, IMM harus meneruskan header yang sesuai ke OSS untuk mendapatkan file sumber.

Catatan

Jika bucket tempat dokumen berada telah dikonfigurasi Referer, atur parameter ini.

*

UserData

string

No

Informasi pengguna kustom. Parameter ini hanya berlaku jika parameter Notification dikonfigurasi untuk MNS. Informasi ini dikembalikan dalam pesan notifikasi asinkron untuk membantu Anda mengaitkan notifikasi dalam sistem Anda. Panjang maksimum adalah 2.048 byte.

{ "id": "test-id", "name": "test-name" }

PreviewPages

integer

No

Membatasi pratinjau hanya pada beberapa halaman pertama. Secara default, tidak ada batasan. Nilai maksimum adalah 5.000.

5

Password

string

No

Kata sandi untuk membuka dokumen.

Catatan

Atur parameter ini untuk mempratinjau atau mengedit dokumen yang dilindungi kata sandi.

123456

ExternalUploaded

boolean

No

Menentukan apakah mengunggah file dengan nama yang sama ke OSS merupakan perilaku yang diharapkan. Nilai yang valid:

  • true: Mengunggah file dengan nama yang sama ke OSS merupakan perilaku yang diharapkan. Dokumen yang diunggah akan menimpa dokumen asli untuk menghasilkan versi baru. Setelah mengatur nilai ini ke true, Anda harus menutup dokumen yang sedang diedit, menunggu sekitar 5 menit, lalu membukanya kembali untuk memuat dokumen baru. Unggahan hanya berlaku saat dokumen ditutup. Jika dokumen terbuka, penyimpanan baru akan menimpa file yang diunggah.

  • false (default): Mengunggah file dengan nama yang sama ke OSS bukan merupakan perilaku yang diharapkan. API akan mengembalikan error.

false

NotifyTopicName

string

No

Mengirimkan notifikasi untuk event tertentu kepada pelanggan sebagai pesan MNS. Parameter ini adalah topik untuk notifikasi MNS asinkron.

test-topic

Hidecmb

boolean

No

Menentukan apakah bilah alat disembunyikan. Parameter ini didukung dalam mode pratinjau dokumen. Nilai yang valid:

  • false (default): Tidak menyembunyikan bilah alat.

  • true: Menyembunyikan bilah alat.

false

Permission WebofficePermission

No

Informasi izin pengguna, dalam format JSON.

Izin pengguna mencakup opsi berikut:

Setiap opsi bertipe Boolean. Nilai default adalah false. Nilai yang valid adalah true dan false.

  • Readonly (opsional): Mode pratinjau.

  • Rename (opsional): Izin untuk mengganti nama file. Ini hanya menyediakan fitur notifikasi. Event rename dikirim ke MNS.

  • History (opsional): Izin untuk melihat versi historis.

  • Copy (opsional): Izin untuk menyalin.

  • Export (opsional): Izin untuk mengekspor sebagai PDF.

  • Print (opsional): Izin untuk mencetak.

Catatan

File PDF hanya mendukung fitur pratinjau. Anda harus mengatur parameter Readonly ke true.

Catatan

Pengeksporan tidak didukung untuk file PDF.

Catatan

Untuk menggunakan fitur multi-versi, Anda harus terlebih dahulu mengaktifkannya di OSS, lalu mengatur parameter History ke true.

Penting Pencetakan tidak didukung dalam mode pratinjau cache.
Penting Anda dapat melihat versi historis dalam mode edit. Melihat versi historis tidak didukung dalam mode pratinjau.

User WebofficeUser

No

Informasi pengguna. Anda dapat meneruskan informasi pengguna dari sisi bisnis Anda. Halaman WebOffice akan menampilkan informasi ini.

Sistem menggunakan User.Id untuk membedakan antar pengguna yang berbeda. User.Name hanya untuk ditampilkan di antarmuka depan. Jika User.Id tidak diteruskan, backend secara otomatis menghasilkan ID acak. Pengguna dengan ID berbeda dianggap sebagai entitas berbeda dan tidak dapat memodifikasi atau menghapus komentar satu sama lain.

Format default adalah: Unknown_random_string. Jika User.Id tidak diteruskan, informasi pengguna secara default menjadi "Unknown".

Watermark WebofficeWatermark

No

Informasi Watermark. Watermark dihasilkan di antarmuka depan dan tidak ditulis ke dokumen sumber. Meneruskan parameter berbeda untuk dokumen yang sama menghasilkan watermark berbeda.

CredentialConfig CredentialConfig

No

Jika Anda tidak memiliki persyaratan khusus, biarkan parameter ini kosong.

Konfigurasi otorisasi berantai. Parameter ini bersifat opsional. Untuk informasi lebih lanjut, lihat Gunakan otorisasi berantai untuk mengakses resource entitas lain.

Notification Notification

No

Konfigurasi untuk pesan notifikasi. Saat ini, hanya MNS yang didukung. Untuk format pesan notifikasi asinkron, lihat Format pesan notifikasi WebOffice.

Catatan

Pesan notifikasi dikirim saat file disimpan atau diganti namanya.

Skenario umum

Contoh berikut menunjukkan struktur parameter untuk setiap skenario.

Pratinjau file dalam mode read-only (wajib untuk file PDF)

Untuk mempratinjau dokumen dalam mode read-only:

 {
    "ProjectName"   : "test-project",
    "SourceURI" : "oss://test-bucket/test-object.pdf",
    "Filename" : "test-object.docx",
    "PreviewPages" : "5",
    "Permission" : "{'Readonly':'true'}"
}

Pratinjau file dengan ekstensi nama file huruf kapital

Untuk mempratinjau file dengan ekstensi nama file huruf kapital, atur parameter Filename dengan ekstensi huruf kecil:

 {
    "ProjectName"   : "test-project",
    "SourceURI" : "oss://test-bucket/test-object.DOCX",
    "Filename" : "test-object.docx",
    "PreviewPages" : "5",
    "Permission" : "{'Readonly':'true'}"
}

Pratinjau hanya 5 halaman pertama dokumen

Untuk menampilkan hanya 5 halaman pertama dari dokumen 10 halaman:

 {
    "ProjectName"   : "test-project",
    "SourceURI" : "oss://test-bucket/test-object.docx",
    "Filename" : "test-object.docx",
    "PreviewPages" : "5",
    "Permission" : "{'Readonly':'true'}"
}

Tambahkan kata sandi untuk pratinjau dokumen

Untuk mengatur kata sandi untuk pratinjau dokumen, atau membuka file sumber yang dilindungi kata sandi untuk pratinjau tanpa prompt kata sandi:

 {
    "ProjectName"   : "test-project",
    "SourceURI" : "oss://test-bucket/test-object.docx",
    "Filename" : "test-object.docx",
    "Password" : "123456",
    "Permission" : "{'Readonly':'true'}"
}
Tambahkan watermark ke pratinjau dokumen

Untuk menambahkan watermark selama pratinjau dokumen:

 {
    "ProjectName"   : "test-project",
    "SourceURI" : "oss://test-bucket/test-object.docx",
    "Filename" : "test-object.docx",
    "Watermark" : "{'Type':'1','Value':'watermark_value','Font':'bold 20px Serif'}",
    "Permission" : "{'Readonly':'true'}"
}
Sembunyikan bilah alat selama pratinjau dokumen

Untuk menyembunyikan bilah alat selama pratinjau dokumen:

 {
    "ProjectName"   : "test-project",
    "SourceURI" : "oss://test-bucket/test-object.docx",
    "Filename" : "test-object.docx",
    "Hidecmb" : "true",
    "Permission" : "{'Readonly':'true'}"
}
Berikan izin untuk mengedit online, melihat riwayat, menyalin, mencetak, dan mengekspor ke PDF

Untuk memberikan izin mengedit online, melihat riwayat, menyalin, mencetak, dan mengekspor ke 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'}"
}

Elemen respons

Element

Type

Description

Example

object

Kredensial akses Weboffice.

RequestId

string

ID permintaan.

1759315A-CB33-0A75-A72B-62D7********

WebofficeURL

string

URL entri untuk Weboffice. Gunakan URL ini untuk mempratinjau atau mengedit dokumen secara online.

Catatan

Anda tidak dapat membuka URL ini langsung di browser. Anda harus menggunakannya bersama SDK JS Weboffice dan kredensial akses (AccessToken) untuk mempratinjau atau mengedit dokumen. Untuk informasi lebih lanjut, lihat Quick Start.

https://office-cn-shanghai.imm.aliyuncs.com/office/s/dd221b2cdb44fb66e9070d1d70a8b9bbb6d6fff7?_w_tokentype=1

AccessToken

string

Kredensial akses Weboffice.

2d73dd5d87524c5e8a194c3eb5********

RefreshToken

string

Kredensial refresh Weboffice.

e374995ec532432bb678074d36********

AccessTokenExpiredTime

string

Waktu kedaluwarsa kredensial akses. Kredensial berlaku selama 30 menit.

2021-08-30T13:13:11.347146982Z

RefreshTokenExpiredTime

string

Waktu kedaluwarsa kredensial refresh. Kredensial berlaku selama 1 hari.

2021-08-31T12:43:11.347146982Z

Error umum

Proyek yang sesuai dengan `ProjectName` tidak ditemukan. Buka konsol IMM baru untuk memeriksa apakah proyek tersebut ada di wilayah yang ditentukan.

{
    "Code": "ResourceNotFound",
    "Message": "The specified resource acs:imm::xxx:project/xxx is not found"
}

Parameter `User` wajib diisi. Periksa apakah parameter ini telah ditentukan.

{
    "Code": "InvalidArgument.User",
    "Message": "The parameter User is required but not provided"
}

Parameter `User` tidak valid. Periksa apakah nilai parameter dalam format JSON yang benar.

{
    "Code": "InvalidJSON parsing error, User",
    "Message": "Specified parameter JSON parsing error, User is not valid."
}

Parameter `Permission` tidak valid. Periksa apakah nilai parameter dalam format JSON yang benar.

{
    "Code": "InvalidJSON parsing error, Permission",
    "Message": "Specified parameter JSON parsing error, Permission is not valid."
}

Parameter `Watermark` tidak valid. Periksa apakah nilai parameter dalam format JSON yang benar.

{
    "Code": "InvalidJSON parsing error, Watermark",
    "Message": "Specified parameter JSON parsing error, Watermark is not valid."
}

Format parameter `PreviewPages` tidak valid. Periksa nilai parameter ini.

{
    "Code": "InvalidPreviewPages",
    "Message": "Specified parameter PreviewPages is not valid."
}

File OSS yang sesuai dengan `SourceURI` tidak ada. Periksa apakah file tersebut ada di bucket OSS.

{
    "Code": "ResourceNotFound",
    "Message": "The specified resource oss://xx is not found"
}

Contoh

Respons sukses

JSONformat

{
  "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"
}

Kode kesalahan

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.